Merge pull request #21 from m42e/build-if-cargo #27
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: Rust Release | |
on: | |
push: | |
tags: | |
- v** | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- run: rustup component add rustfmt | |
- run: cargo fmt -- --check | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
# cache the build assets so they dont recompile every time. | |
- name: Cache Rust dependencies | |
uses: actions/[email protected] | |
with: | |
path: target | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.OS }}-build- | |
- name: Install latest rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: beta | |
default: true | |
override: true | |
- name: Target | |
run: rustup target add x86_64-unknown-linux-musl | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update \ | |
&& sudo apt-get install -y \ | |
libdbus-1-dev | |
- name: Build | |
run: cargo build --all --release --target x86_64-unknown-linux-musl && strip target/x86_64-unknown-linux-musl/release/zsh-histdb-skim | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: target/x86_64-unknown-linux-musl/release/zsh-histdb-skim | |
asset_name: zsh-histdb-skim-linux-x64 | |
tag: ${{ github.ref }} | |
overwrite: true | |
build-mac-intel: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Cache Rust dependencies | |
uses: actions/[email protected] | |
with: | |
path: target | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.OS }}-build- | |
- name: Install latest rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: beta | |
target: x86_64-apple-darwin | |
default: true | |
override: true | |
- name: Build for mac | |
run: cargo build --all --release --target x86_64-apple-darwin && strip target/x86_64-apple-darwin/release/zsh-histdb-skim | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: target/x86_64-apple-darwin/release/zsh-histdb-skim | |
asset_name: zsh-histdb-skim-darwin-x64 | |
tag: ${{ github.ref }} | |
overwrite: true | |
build-mac-arm: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Cache Rust dependencies | |
uses: actions/[email protected] | |
with: | |
path: target | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.OS }}-build- | |
- name: Install latest rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: beta | |
target: aarch64-apple-darwin | |
default: true | |
override: true | |
- name: Build for mac | |
run: cargo build --all --release && strip target/release/zsh-histdb-skim | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: target/release/zsh-histdb-skim | |
asset_name: zsh-histdb-skim-darwin-aarch64 | |
tag: ${{ github.ref }} | |
overwrite: true | |