Website publish action (#1358)

## Description

Triggered manually from actions page using [manual trigger](https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/).

@vkamra ~We will need `WEBSITE_S3_BUCKET` and `WEBSITE_CF_DISTRIBUTION` in `Production` env for this to work.~ If you could add the s3 and cloudfront details to to GitHub secrets, I'll switch to using the secrets instead.

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [x] 💻 CI/Deployment
- [ ] 🐹 Trivial/Minor

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* fixes https://github.com/alcionai/corso/issues/1329

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
This commit is contained in:
Abin Simon 2022-11-16 13:46:58 +05:30 committed by GitHub
parent b7330b2ba6
commit fdbea0dcae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 1 deletions

35
.github/workflows/website-publish.yml vendored Normal file
View File

@ -0,0 +1,35 @@
name: Publish website
on:
workflow_dispatch:
permissions:
# required to retrieve AWS credentials
id-token: write
contents: write
packages: write
pull-requests: read
jobs:
Publish-Website:
environment: Production
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v3
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing
aws-region: us-east-1
- name: Build docs image
run: |
make buildimage
- name: Build & Publish docs
run: |
make publish

View File

@ -22,7 +22,8 @@ build:
publish: build
docker run -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY \
-e AWS_SESSION_TOKEN --rm -v ${PWD}:/usr/src/website corso/website:latest \
-e AWS_SESSION_TOKEN -e AWS_REGION \
--rm -v ${PWD}:/usr/src/website corso/website:latest \
make sync
sync: