From 50ac14953da8a6632f44f151972d127ec01f3090 Mon Sep 17 00:00:00 2001 From: Jeff Chew Date: Thu, 28 Dec 2023 11:27:53 -0500 Subject: [PATCH] feat(github-actions): add publish workflows to prod (#1732) * feat(github-actions): add publish workflows to prod * feat(github-actions): update workflows with final branches --- .github/workflows/publish-v1.yml | 47 ++++++++++++++++++++++++++++++++ .github/workflows/publish.yml | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 .github/workflows/publish-v1.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish-v1.yml b/.github/workflows/publish-v1.yml new file mode 100644 index 000000000..0caae97a2 --- /dev/null +++ b/.github/workflows/publish-v1.yml @@ -0,0 +1,47 @@ +name: publish (Publish production site) + +on: + push: + branches: + - v1 + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + publish: + if: github.repository == 'carbon-design-system/carbon-for-ibm-dotcom-website' + runs-on: ubuntu-20.04 + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + steps: + - uses: actions/checkout@v4 + - name: Use Node.js 18.x + uses: actions/setup-node@v4 + with: + node-version: '18.x' + cache: 'yarn' + - name: Install dependencies + run: yarn install + - name: Build website + run: | + echo "PATH_PREFIX=/standards/carbon/v1" >> .env.production + echo "GATSBY_CPU_COUNT=1" >> .env.production + yarn build + - name: Publish to COS (Carbon for IBM.com Web Components) + uses: jakejarvis/s3-sync-action@master + with: + args: --acl public-read --follow-symlinks + env: + AWS_S3_BUCKET: ${{ secrets.COS_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.COS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.COS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.COS_REGION }} + AWS_S3_ENDPOINT: https://${{ secrets.COS_ENDPOINT }} + SOURCE_DIR: 'public' + DEST_DIR: 'standards/carbon/v1' + - uses: act10ns/slack@v2 + with: + status: ${{ job.status }} + if: failure() diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..af5d01861 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,47 @@ +name: publish-v2 (Publish production site v2) + +on: + push: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + publish: + if: github.repository == 'carbon-design-system/carbon-for-ibm-dotcom-website' + runs-on: ubuntu-20.04 + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + steps: + - uses: actions/checkout@v4 + - name: Use Node.js 18.x + uses: actions/setup-node@v4 + with: + node-version: '18.x' + cache: 'yarn' + - name: Install dependencies + run: yarn install + - name: Build website + run: | + echo "PATH_PREFIX=/standards/carbon" >> .env.production + echo "GATSBY_CPU_COUNT=1" >> .env.production + yarn build + - name: Publish to COS (Carbon for IBM.com Web Components) + uses: jakejarvis/s3-sync-action@master + with: + args: --acl public-read --follow-symlinks + env: + AWS_S3_BUCKET: ${{ secrets.COS_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.COS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.COS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.COS_REGION }} + AWS_S3_ENDPOINT: https://${{ secrets.COS_ENDPOINT }} + SOURCE_DIR: 'public' + DEST_DIR: 'standards/carbon' + - uses: act10ns/slack@v2 + with: + status: ${{ job.status }} + if: failure()