bed-and-breakfast/templates-open-source

View on GitHub
.github/workflows/release.yml

Summary

Maintainability
Test Coverage
name: Release
on:
    workflow_run:
        workflows:
            - CI
        types:
            - completed
        branches: 'main'
jobs:
    release:
        if: ${{ github.event.workflow_run.conclusion == 'success' }}
        name: Release
        runs-on: ubuntu-latest
        permissions:
            contents: write # to be able to publish a GitHub release
            issues: write # to be able to comment on released issues
            pull-requests: write # to be able to comment on released pull requests
            id-token: write # to enable use of OIDC for npm provenance
        steps:
            - name: Checkout
              uses: actions/checkout@v3
              with:
                  fetch-depth: 0
            - name: Setup Node
              uses: './.github/actions/ci-node-setup'
              with:
                  node-version-file: .nvmrc

            - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
              run: npm audit signatures
            - name: Get build artifacts
              uses: dawidd6/action-download-artifact@v2
              with:
                  workflow: ci.yml
                  name: build
                  path: lib
                  run_id: ${{ github.event.workflow_run.id }}
            - name: Release
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
              run: npx semantic-release
    no-release:
        if: ${{ github.event.workflow_run.conclusion != 'success' }}
        name: No Release
        runs-on: ubuntu-latest
        steps:
            - name: CI Failure
              run: echo "CI Failure" && exit 1