110 lines
2.5 KiB
YAML
110 lines
2.5 KiB
YAML
name: Rust - Release creation
|
|
|
|
on:
|
|
release:
|
|
types: [created]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
release-linux:
|
|
name: Linux - Build and Publish
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y rpm
|
|
cargo install cargo-deb
|
|
cargo install cargo-generate-rpm
|
|
|
|
- name: Publish crates
|
|
run: |
|
|
cargo publish -p adb_client --token ${CRATES_IO_TOKEN}
|
|
cargo publish -p adb_cli --token ${CRATES_IO_TOKEN}
|
|
env:
|
|
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
|
|
|
|
- name: Build release
|
|
run: cargo build -p adb_cli --release
|
|
|
|
- name: Rename binary
|
|
run: cp target/release/adb_cli target/release/adb_cli-linux
|
|
|
|
- name: Build DEB package
|
|
run: cargo deb -p adb_cli
|
|
|
|
- name: Build RPM package
|
|
run: cargo generate-rpm -p adb_cli
|
|
|
|
- name: Upload Linux artifacts
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
target/debian/*.deb
|
|
target/generate-rpm/*.rpm
|
|
target/release/adb_cli-linux
|
|
|
|
release-macos:
|
|
name: macOS - Build Binary
|
|
runs-on: macos-13
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Build release
|
|
run: cargo build -p adb_cli --release
|
|
|
|
- name: Rename binary
|
|
run: cp target/release/adb_cli target/release/adb_cli-macos
|
|
|
|
- name: Upload macOS binary
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: target/release/adb_cli-macos
|
|
|
|
release-windows:
|
|
name: Windows - Build Binary
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- name: Build release
|
|
run: cargo build -p adb_cli --release
|
|
|
|
- name: Rename binary
|
|
run: Rename-Item -Path target/release/adb_cli.exe -NewName adb_cli-windows.exe
|
|
|
|
- name: Upload Windows binary
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: target/release/adb_cli-windows.exe
|