Create Release / Upload Assets #10
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
on: | |
release: | |
types: | |
- created | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CARGO_TERM_COLOR: always | |
name: Create Release / Upload Assets | |
jobs: | |
version_bump: | |
name: Bump cache version | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Cache Version | |
run: .github/.deploy/bump.sh | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: pkg-version | |
path: Cargo.toml | |
linux: | |
name: Build for Linux | |
runs-on: ubuntu-latest | |
needs: [version_bump] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v2 | |
with: | |
name: pkg-version | |
- name: Set up cargo cache | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo- | |
- name: Build | |
run: cargo build --release | |
- name: Install cargo-deb | |
run: cargo install cargo-deb | |
continue-on-error: true | |
- name: Create deb package | |
run: cargo deb | |
- name: "Move to outputs/ folder" | |
run: | | |
mkdir outputs | |
cp target/release/whisper outputs/whisper-linux-x86_64 | |
cp target/debian/*.deb outputs/whisper-linux-x86_64.deb | |
- name: Upload to temporary storage | |
uses: actions/upload-artifact@master | |
with: | |
name: output-artifact | |
path: outputs | |
- name: Publish Crate | |
uses: katyo/publish-crates@v2 | |
with: | |
args: --allow-dirty | |
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
macos: | |
name: Build for Mac | |
runs-on: macos-latest-large | |
needs: [version_bump] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v2 | |
with: | |
name: pkg-version | |
- name: Set up cargo cache | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo- | |
- name: Build for Mac with Silicon | |
run: cargo build --release | |
- name: "Move to outputs/ folder" | |
run: | | |
mkdir outputs | |
cp target/release/whisper outputs/whisper-darwin-x86_64 | |
cp target/aarch64-apple-darwin/release/whisper outputs/whisper-darwin-aarch64 | |
- name: Upload to temporary storage | |
uses: actions/upload-artifact@master | |
with: | |
name: output-artifact | |
path: outputs | |
release: | |
name: Release assets | |
runs-on: ubuntu-latest | |
needs: [linux, macos] | |
steps: | |
- name: Download from temporary storage | |
uses: actions/download-artifact@master | |
with: | |
name: output-artifact | |
path: outputs | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: outputs/* | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true |