name: Release gem on: repository_dispatch: types: - release-triggered workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 - run: | gem install bundler -v 2.4 bundle install - name: Test run: bundle exec rake release: needs: test runs-on: ubuntu-latest outputs: gem_name: ${{ steps.release.outputs.gem_name }} version: ${{ steps.release.outputs.version }} increment: ${{ steps.release.outputs.increment }} steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - uses: pact-foundation/release-gem@v0.0.14 id: release env: GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_API_KEY }}' GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' INCREMENT: '${{ github.event.client_payload.increment }}' record-release: needs: release runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 - name: Bundle install run: | gem install bundler -v 2.4 bundle config set --local without development test bundle install - name: Record release run: script/ci/record-release.sh env: PACT_BROKER_BASE_URL: https://pact-foundation.pactflow.io PACT_BROKER_TOKEN: ${{ secrets.PACT_BROKER_TOKEN_PACT_FOUNDATION }} notify-gem-released: needs: release strategy: matrix: repository: [pact-foundation/pact-ruby-cli, pact-foundation/pact-ruby-standalone, pact-foundation/pact_broker-client] runs-on: ubuntu-latest steps: - name: Notify ${{ matrix.repository }} of gem release uses: peter-evans/repository-dispatch@v1 with: token: ${{ secrets.GHTOKENFORPACTCLIRELEASE }} repository: ${{ matrix.repository }} event-type: gem-released client-payload: | { "name": "${{ needs.release.outputs.gem_name }}", "version": "${{ needs.release.outputs.version }}", "increment": "${{ needs.release.outputs.increment }}" }