name: Release-plz on: push: branches: - main jobs: # Release unpublished packages. release-plz-release: name: Release-plz release runs-on: ubuntu-latest environment: crates_io permissions: contents: write id-token: write # For trusted publishing steps: - name: Checkout repository uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: fetch-depth: 0 persist-credentials: false - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Run release-plz id: release-plz uses: release-plz/action@d529f731ae3e89610ada96eda34e5c6ba3b12214 # v0.5 with: command: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Trigger workflows if: steps.release-plz.outputs.releases_created == 'true' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} tag: ${{ fromJSON(steps.release-plz.outputs.releases)[0].tag }} run: | gh api "repos/${GITHUB_REPOSITORY}/dispatches" \ -f "event_type=release-created" \ -F "client_payload[tag]=${tag}" # Create a PR with the new versions and changelog, preparing the next release. release-plz-pr: name: Release-plz PR runs-on: ubuntu-latest permissions: contents: write pull-requests: write concurrency: group: release-plz-${{ github.ref }} cancel-in-progress: false steps: - name: Checkout repository uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: fetch-depth: 0 persist-credentials: false - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Run release-plz uses: release-plz/action@d529f731ae3e89610ada96eda34e5c6ba3b12214 # v0.5 with: command: release-pr env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}