Skip to content

build(deps): update rust crate uuid to v1.25.0 (#362) #1

build(deps): update rust crate uuid to v1.25.0 (#362)

build(deps): update rust crate uuid to v1.25.0 (#362) #1

Workflow file for this run

name: Release-plz
permissions: {}
on:
push:
branches:
- main
jobs:
# Create GitHub releases and publish to crates.io.
release-plz-release:
name: Release-plz release
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'eryx-org' }}
environment: crates-io
permissions:
contents: write
id-token: write
steps:
# Mint a GitHub App installation token. release-plz must NOT use the
# default GITHUB_TOKEN to push tags / create releases: GitHub suppresses
# workflow runs triggered by the default token, so the cargo-dist
# (release.yml) and Python/JS release workflows downstream of these
# tags/releases never fire. An App token is exempt from that rule.
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.RELEASE_PLZ_APP_ID }}
private-key: ${{ secrets.RELEASE_PLZ_APP_PRIVATE_KEY }}
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: true
token: ${{ steps.app-token.outputs.token }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Run release-plz
uses: release-plz/action@v0.5
with:
command: release
config: release-plz.toml
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
# Create a PR with the new versions and changelog, preparing the next release.
release-plz-pr:
name: Release-plz PR
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'eryx-org' }}
permissions:
contents: write
pull-requests: write
concurrency:
group: release-plz-${{ github.ref }}
cancel-in-progress: false
steps:
# Use an App token so the release PR is opened by the App (not the
# default token), which lets the PR's CI checks run. See the note in the
# release job above.
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.RELEASE_PLZ_APP_ID }}
private-key: ${{ secrets.RELEASE_PLZ_APP_PRIVATE_KEY }}
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: true
token: ${{ steps.app-token.outputs.token }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
# release-plz runs cargo-semver-checks with its default (all-features)
# heuristic, which enables the `embedded` feature. That feature's build
# script requires a `runtime.cwasm`; without one it panics, the semver
# check silently no-ops, and API-breaking changes (e.g. new public struct
# fields) slip through as a patch bump instead of a minor one.
#
# For the semver check the cwasm is only embedded as bytes for rustdoc and
# is never deserialized or executed, so an empty placeholder is sufficient
# (identical to how the crate's own build.rs handles docs.rs builds). This
# avoids building the real WASM runtime here just to satisfy the check.
- name: Provide placeholder runtime.cwasm for cargo-semver-checks
run: |
: > "$RUNNER_TEMP/runtime.cwasm"
echo "ERYX_RUNTIME_CWASM=$RUNNER_TEMP/runtime.cwasm" >> "$GITHUB_ENV"
- name: Run release-plz
uses: release-plz/action@v0.5
with:
command: release-pr
config: release-plz.toml
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}