name: Semver on: workflow_dispatch: push: tags: - "irtt-proto/v*.*.*" - "irtt-client/v*.*.*" - "irtt-server/v*.*.*" - "irtt-stats/v*.*.*" - "irtt-rs/v*.*.*" permissions: contents: read env: CARGO_SEMVER_CHECKS_VERSION: 0.50.0 CARGO_SEMVER_CHECKS_SHA256: 52a65dc88dc53fa8b57d6087954eb52cda149ca03bcfca78ce3fdecd23f893c4 jobs: semver: name: cargo-semver-checks runs-on: ubuntu-latest timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - name: Install Rust toolchain uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2 with: cache: false # The CLI preserves the previous wrapper's `feature-group: all-features` # behavior without its GitHub API/cache dependency. - name: Install cargo-semver-checks run: | set -euo pipefail archive="cargo-semver-checks-x86_64-unknown-linux-gnu.tar.gz" curl --fail --show-error --location --retry 3 \ "https://github.com/obi1kenobi/cargo-semver-checks/releases/download/v${CARGO_SEMVER_CHECKS_VERSION}/${archive}" \ --output "$archive" echo "${CARGO_SEMVER_CHECKS_SHA256} ${archive}" | sha256sum --check --status - tar -xzf "$archive" cargo-semver-checks install -Dm755 cargo-semver-checks "${RUNNER_TEMP}/bin/cargo-semver-checks" echo "${RUNNER_TEMP}/bin" >> "$GITHUB_PATH" - name: Check semver compatibility run: cargo semver-checks check-release --all-features