name: Build # This workflow is the Provider's CI build that will run on every commit for the provider codebase on: push: workflow_dispatch: env: PACT_BROKER_BASE_URL: ${{ vars.PACT_BROKER_BASE_URL }} PACT_BROKER_TOKEN: ${{ secrets.PACTFLOW_TOKEN_FOR_CI_CD_WORKSHOP }} PACT_BROKER_PUBLISH_VERIFICATION_RESULTS: true GIT_COMMIT: ${{ github.sha }} GITHUB_REF: ${{ github.ref }} jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 with: node-version: '24' - name: Install run: npm i - name: Test run: GIT_BRANCH=${GITHUB_REF:11} make test # Runs on branches as well, so we know the status of our PRs can-i-deploy: runs-on: ubuntu-latest needs: test steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - run: docker pull pactfoundation/pact-cli:latest - name: Can I deploy? run: GIT_BRANCH=${GITHUB_REF:11} make can_i_deploy # Only deploy from master deploy: runs-on: ubuntu-latest needs: can-i-deploy steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - run: docker pull pactfoundation/pact-cli:latest - name: Deploy run: GIT_BRANCH=${GITHUB_REF:11} make deploy if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/test'