name: Release-plz
permissions:
contents: read
on:
push:
branches:
- main
jobs:
toolchain:
name: Setup Rust toolchain
runs-on: ubuntu-latest
outputs:
toolchain: ${{ steps.set_toolchain.outputs.toolchain }}
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Output toolchain
id: set_toolchain
env:
toolchain_toml: "rust-toolchain.toml"
run: |
toolchain=$(grep channel rust-toolchain.toml | sed -r 's/channel = "(.*)"/\1/')
echo "toolchain=$toolchain" | tee -a "$GITHUB_OUTPUT"
release-plz:
name: Run release-plz
runs-on: ubuntu-latest
needs: toolchain
steps:
- name: Generate a token
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 with:
fetch-depth: 0
token: ${{ steps.app-token.outputs.token }}
- name: Install Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 with:
toolchain: ${{ needs.toolchain.outputs.toolchain }}
- name: Run release-plz
uses: MarcoIeni/release-plz-action@e8792575c7f2366cf6ff3ccc33ead9ace5b691c7 env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}