Skip to content

Prepare release v0.5.1 and publish new crates. #22

Prepare release v0.5.1 and publish new crates.

Prepare release v0.5.1 and publish new crates. #22

Workflow file for this run

name: release
on:
push:
tags:
- "v*.*.*"
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get release notes from changelog
id: release_notes
run: |
export VERSION=$(echo ${{ github.ref_name }} | sed 's/^v//')
echo "VERSION = ${VERSION}"
awk "/## v${VERSION}.*/{include=1; next} /## v.*/{include=0} include && NF" CHANGELOG.md > ./CHANGELOG-release.md
cat ./CHANGELOG-release.md
- name: Release Change log
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
body_path: ./CHANGELOG-release.md
release-linux:
needs: changelog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install Dependencies
run: |
sudo apt-get update && \
sudo apt-get install -y --no-install-recommends curl libssl-dev pkg-config libclang-dev protobuf-compiler libprotobuf-dev zip
- uses: pnpm/action-setup@v4
with:
version: 9
- name: PNPM install
run: |
pnpm i
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-unknown-linux-gnu
default: true
- name: Rust Build
run: |
RUSTFLAGS="-C target-feature=+crt-static" cargo build --target x86_64-unknown-linux-gnu --release --bin trail && \
zip -r -j trailbase_${{ github.ref_name }}_x86_64_linux.zip target/x86_64-unknown-linux-gnu/release/trail CHANGELOG.md LICENSE
- name: Release binaries
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_x86_64_linux.zip
release-aarch64-apple-darwin:
needs: changelog
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install Dependencies
run: |
brew update && brew install protobuf sqlite
- uses: pnpm/action-setup@v4
with:
version: 9
- name: PNPM install
run: |
pnpm i
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
default: true
- name: Rust Build
run: |
cargo build --target aarch64-apple-darwin --release --bin trail && \
zip -r -j trailbase_${{ github.ref_name }}_arm64_apple_darwin.zip target/aarch64-apple-darwin/release/trail CHANGELOG.md LICENSE
- name: Release binaries
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_arm64_apple_darwin.zip
release-x86_64-apple-darwin:
needs: changelog
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install Dependencies
run: |
brew update && brew install protobuf sqlite
- uses: pnpm/action-setup@v4
with:
version: 9
- name: PNPM install
run: |
pnpm i
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
default: true
- name: Rust Build
run: |
cargo build --target x86_64-apple-darwin --release --bin trail && \
zip -r -j trailbase_${{ github.ref_name }}_x86_64_apple_darwin.zip target/x86_64-apple-darwin/release/trail CHANGELOG.md LICENSE
- name: Release binaries
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_x86_64_apple_darwin.zip
release-windows:
needs: changelog
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- uses: MinoruSekine/[email protected]
with:
buckets: extras
apps: nodejs pnpm protobuf zip
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-pc-windows-msvc
default: true
- name: Rust Build
shell: bash
run: |
cargo build --target x86_64-pc-windows-msvc --release --bin trail && \
zip -r -j trailbase_${{ github.ref_name }}_x86_64_windows.zip target/x86_64-pc-windows-msvc/release/trail.exe CHANGELOG.md LICENSE
- name: Release binaries
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_x86_64_windows.zip