use new suggestions #5888
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| permissions: | |
| id-token: write | |
| contents: write | |
| issues: read | |
| on: | |
| push: | |
| pull_request: | |
| types: [opened, synchronize, ready_for_review, reopened] | |
| env: | |
| CI_BUILD_NUM: ${{ github.run_id }} | |
| CI_BRANCH: ${{ github.ref_name }} | |
| HLX_AWS_REGION: ${{ secrets.AWS_REGION }} | |
| jobs: | |
| protect-nyc-config: | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Protect NYC config | |
| uses: ./.github/actions/protect-nyc-config | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Setup Node & NPM | |
| uses: ./.github/actions/setup-node-npm | |
| - name: Lint, Test, Coverage Upload | |
| uses: ./.github/actions/lint-test-coverage | |
| with: | |
| upload_coverage: "true" | |
| codecov_token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Semantic Release (Dry Run) | |
| if: github.event_name == 'push' && github.ref != 'refs/heads/main' | |
| run: npm run semantic-release-dry | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.ADOBE_BOT_GITHUB_TOKEN }} | |
| NPM_TOKEN: ${{ secrets.ADOBE_BOT_NPM_TOKEN }} | |
| semantic-release: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Configure Environment | |
| run: echo -e "LOG_LEVEL=info\n" > .env | |
| - name: Setup Node & NPM | |
| uses: ./.github/actions/setup-node-npm | |
| - name: Configure AWS for PROD | |
| uses: ./.github/actions/configure-aws | |
| with: | |
| aws_role_to_assume: 'arn:aws:iam::${{secrets.AWS_ACCOUNT_ID_PROD}}:role/spacecat-role-github-actions' | |
| - name: Semantic Release | |
| run: npm run semantic-release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.ADOBE_BOT_GITHUB_TOKEN }} | |
| NPM_TOKEN: ${{ secrets.ADOBE_BOT_NPM_TOKEN }} | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_PROD}} | |
| deploy-stage: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Setup Node & NPM | |
| uses: ./.github/actions/setup-node-npm | |
| - name: Configure AWS for STAGE | |
| uses: ./.github/actions/configure-aws | |
| with: | |
| aws_role_to_assume: 'arn:aws:iam::${{secrets.AWS_ACCOUNT_ID_STAGE}}:role/spacecat-role-github-actions' | |
| - name: Branch Deployment | |
| run: npm run deploy-stage | |
| env: | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_STAGE}} | |
| upload-build-artifacts: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Setup Node & NPM | |
| uses: ./.github/actions/setup-node-npm | |
| - name: Configure AWS for DEV | |
| uses: ./.github/actions/configure-aws | |
| with: | |
| aws_role_to_assume: 'arn:aws:iam::${{secrets.AWS_ACCOUNT_ID_DEV}}:role/spacecat-role-github-actions' | |
| - name: Create Build Artifacts | |
| run: npm run build | |
| env: | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_DEV}} | |
| - name: Copy Build Artifact | |
| run: cp dist/spacecat-services/api-service@*.zip spacecat-services--api-service-latest.zip | |
| env: | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_DEV}} | |
| - name: Upload ZIP File | |
| run: aws s3 cp spacecat-services--api-service-latest.zip s3://spacecat-artifacts-dev/spacecat-services--api-service-latest.zip | |
| env: | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_DEV}} | |
| branch-deploy: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && github.ref != 'refs/heads/main' | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Setup Node & NPM | |
| uses: ./.github/actions/setup-node-npm | |
| - name: Configure AWS | |
| uses: ./.github/actions/configure-aws | |
| with: | |
| aws_role_to_assume: 'arn:aws:iam::${{secrets.AWS_ACCOUNT_ID_DEV}}:role/spacecat-role-github-actions' | |
| - name: Branch Deployment | |
| run: npm run deploy-dev | |
| env: | |
| AWS_REGION: us-east-1 | |
| AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID_DEV}} | |
| - name: Post-Deployment Integration Test | |
| run: npm run test-postdeploy |