Skip to content

chore: release

chore: release #31

Workflow file for this run

name: release
permissions:
contents: write
pull-requests: write
on:
push:
branches:
- main
# concurrency:
# group: release-${{ github.ref_name }}
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
DRY_RUN: ${{ startsWith(github.event.ref, 'refs/tags/v') && '0' || '1' }}
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- uses: google-github-actions/release-please-action@v4
id: release
with:
token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }}
release-type: simple
prerelease: true
- uses: actions/checkout@v4
if: ${{ steps.release.outputs.release_created }}
with:
branch: release-please--branches--main
- name: update version string
if: ${{ steps.release.outputs.release_created }}
run: |
sed -i "s/^version = .*/version = \"${{ steps.release.outputs.tag_name }}\"/" Cargo.toml
git add Cargo.toml
git commit --amend --no-edit
git push -f
publish-crates:
needs: ["release-please"]
if: ${{ needs.release-please.outputs.releases_created }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Publish crates
run: |
cargo login ${{ secrets.CARGO_REGISTRY_TOKEN }}
cargo publish --manifest-path cli/Cargo.toml
upload-assets:
needs: ["publish-crates"]
strategy:
matrix:
include:
- target: universal-apple-darwin
os: macos-14
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-musl
os: ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: taiki-e/upload-rust-binary-action@v1
with:
bin: usage
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.target }}
manifest-path: cli/Cargo.toml
env:
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: 1
CARGO_PROFILE_RELEASE_LTO: true
bump-homebrew-formula:
runs-on: macos-14
timeout-minutes: 10
needs: [upload-assets]
continue-on-error: true
steps:
- name: Bump Homebrew formula
uses: dawidd6/action-homebrew-bump-formula@v3
with:
token: ${{ secrets.GH_BOT_TOKEN }}
formula: usage
tap: jdx/homebrew-tap