Skip to content

chore(release): prepare for publishing (#624) #23

chore(release): prepare for publishing (#624)

chore(release): prepare for publishing (#624) #23

name: Release crates
permissions:
pull-requests: write
contents: write
on:
workflow_dispatch:
push:
branches:
- master
jobs:
# Create a PR with the new versions and changelog, preparing the next release.
open-pr:
name: Open release PR
runs-on: ubuntu-latest
environment: cratesio-publish
concurrency:
group: release-plz-${{ github.ref }}
cancel-in-progress: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 512
- name: Run release-plz
id: release-plz
uses: Devolutions/actions-public/release-plz@v1
with:
command: release-pr
git-name: Devolutions Bot
git-email: [email protected]
github-token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}
- name: Update fuzz/Cargo.lock
shell: pwsh
if: ${{ steps.release-plz.outputs.did-open-pr == 'true' }}
run: |
$prRaw = '${{ steps.release-plz.outputs.pr }}'
Write-Host "prRaw: $prRaw"
$pr = $prRaw | ConvertFrom-Json
Write-Host "pr: $pr"
Write-Host "Fetch branch $($pr.head_branch)"
git fetch origin "$($pr.head_branch)"
Write-Host "Switch to branch $($pr.head_branch)"
git checkout "$($pr.head_branch)"
Write-Host "Update ./fuzz/Cargo.lock"
cargo update --manifest-path ./fuzz/Cargo.toml
Write-Host "Update last commit"
git add ./fuzz/Cargo.lock
git commit --amend --no-edit
Write-Host "Update the release pull request"
git push --force
# Release unpublished packages.
release:
name: Release crates
runs-on: ubuntu-latest
environment: cratesio-publish
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 512
- name: Run release-plz
uses: Devolutions/actions-public/release-plz@v1
with:
command: release
registry-token: ${{ secrets.CRATES_IO_TOKEN }}