build(deps): bump tokio from 1.40.0 to 1.41.0 #699
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: Build CLI | |
env: | |
SCCACHE_GHA_ENABLED: "true" | |
RUSTC_WRAPPER: "sccache" | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
release: | |
types: [ released ] | |
jobs: | |
build_binary_linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- x86_64-unknown-linux-gnu | |
- aarch64-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Rust Setup | |
id: setup | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
targets: ${{ matrix.target }} | |
- name: Rust Cache | |
uses: mozilla-actions/[email protected] | |
- name: Env init | |
run: | | |
cargo install cargo-deb | |
sudo apt-get -qq update | |
if [ "${{ matrix.target }}" = "aarch64-unknown-linux-gnu" ]; then | |
sudo apt-get install -qq -y gcc-aarch64-linux-gnu | |
fi | |
- name: Build binary | |
run: | | |
cargo build --release --bins --target ${{ matrix.target }} | |
cargo deb --target ${{ matrix.target }} | |
- name: Rename binary | |
shell: bash | |
run: | | |
mv -f target/${{ matrix.target }}/release/znotify target/${{ matrix.target }}/release/znotify-${{ matrix.target }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.target }} | |
path: | | |
target/${{ matrix.target }}/release/znotify-${{ matrix.target }} | |
target/${{ matrix.target }}/debian/*.deb | |
build_binary_macos: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
target: | |
- x86_64-apple-darwin | |
- aarch64-apple-darwin | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Rust Setup | |
id: setup | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- name: Rust Cache | |
uses: mozilla-actions/[email protected] | |
- name: Env init | |
run: | | |
rustup target add ${{ matrix.target }} | |
- name: Build binary | |
run: | | |
cargo build --release --bins --target ${{ matrix.target }} | |
- name: Rename binary | |
shell: bash | |
run: | | |
mv -f target/${{ matrix.target }}/release/znotify target/${{ matrix.target }}/release/znotify-${{ matrix.target }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.target }} | |
path: target/${{ matrix.target }}/release/znotify-${{ matrix.target }} | |
build_binary_windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
target: | |
- x86_64-pc-windows-msvc | |
- aarch64-pc-windows-msvc | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Rust Setup | |
id: setup | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- name: Rust Cache | |
uses: mozilla-actions/[email protected] | |
- name: Env init | |
run: | | |
rustup target add ${{ matrix.target }} | |
- name: Build binary | |
run: | | |
cargo build --release --bins --target ${{ matrix.target }} | |
- name: Rename binary | |
shell: bash | |
run: | | |
mv -f target/${{ matrix.target }}/release/znotify.exe target/${{ matrix.target }}/release/znotify-${{ matrix.target }}.exe | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.target }} | |
path: target/${{ matrix.target }}/release/znotify-${{ matrix.target }}.exe | |
release_nightly: | |
if: github.event_name == 'push' | |
needs: [ build_binary_linux, build_binary_macos, build_binary_windows ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get all artifacts | |
uses: actions/[email protected] | |
with: | |
path: binary | |
- uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Development Build" | |
files: | | |
binary/*/* | |
binary/*/*/* | |
release_stable: | |
if: github.event_name == 'release' | |
needs: [ build_binary_linux, build_binary_macos, build_binary_windows ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: 'master' | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
cache-dependency-path: 'scripts/requirements.txt' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r scripts/requirements.txt | |
- name: Get all artifacts | |
uses: actions/[email protected] | |
with: | |
path: binary | |
- name: Check version | |
run: python scripts/version.py | |
- name: Release | |
uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{ github.event.release.tag_name }}" | |
title: "${{ github.event.release.tag_name }}" | |
prerelease: false | |
files: | | |
binary/*/* | |
binary/*/*/* | |
- name: Generate winget manifest | |
run: | | |
python scripts/winget.py |