Prepare release v0.14.0 "Hakuna Matata" π π¦ (#3594) #40
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- v* | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
file: forest-${{ github.ref_name }}-linux-amd64.zip | |
- os: macos-latest | |
file: forest-${{ github.ref_name }}-macos-amd64.zip | |
steps: | |
- name: Checkout Sources | |
uses: actions/checkout@v4 | |
- run: ./assets/ci_download.sh | |
- name: Apt Dependencies | |
if: contains(matrix.os, 'ubuntu') | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 5 | |
max_attempts: 3 | |
command: sudo make install-deps | |
- name: Homebrew Utils | |
if: contains(matrix.os, 'macos') | |
run: | | |
brew install --verbose coreutils protobuf | |
protoc --version | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
timeout-minutes: 5 | |
continue-on-error: true | |
- name: Cargo Build | |
run: cargo build --release --bin forest --bin forest-cli --bin forest-tool | |
- name: Compress Binary | |
run: | | |
mkdir -p forest-${{ github.ref_name }} | |
cp -v target/release/forest target/release/forest-cli target/release/forest-tool forest-${{ github.ref_name }} | |
cp -rv CHANGELOG.md LICENSE-APACHE LICENSE-MIT README.md documentation forest-${{ github.ref_name }} | |
sha256sum forest-${{ github.ref_name }}/forest > forest-${{ github.ref_name }}/forest.sha256 | |
sha256sum forest-${{ github.ref_name }}/forest-cli > forest-${{ github.ref_name }}/forest-cli.sha256 | |
sha256sum forest-${{ github.ref_name }}/forest-tool > forest-${{ github.ref_name }}/forest-tool.sha256 | |
zip -r ${{ matrix.file }} forest-${{ github.ref_name }} | |
- name: Upload Binary | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ github.token }} | |
file: ${{ matrix.file }} | |
asset_name: ${{ matrix.file }} | |
tag: ${{ github.ref_name }} | |
overwrite: true | |
prerelease: true |