Files
pumpbin/.github/workflows/release.yml
2024-06-26 21:22:04 +08:00

69 lines
2.3 KiB
YAML

name: build-release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
permissions:
contents: write
jobs:
build-windows:
name: build-windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain:
stable-x86_64-pc-windows-msvc
- run: cargo b -r
- run: mv target/release/pumpbin.exe PumpBin-x86_64-pc-windows-msvc.exe
- run: mv target/release/maker.exe PumpBin-Maker-x86_64-pc-windows-msvc.exe
- uses: softprops/action-gh-release@v2
with:
files: |
PumpBin-x86_64-pc-windows-msvc.exe
PumpBin-Maker-x86_64-pc-windows-msvc.exe
build-macos:
name: build-macos
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-apple-darwin, aarch64-apple-darwin
- run: bash scripts/build-macos.sh
- run: mv target/release/macos-pumpbin/PumpBin.dmg PumpBin.dmg
- run: mv target/release/macos-maker/PumpBin-Maker.dmg PumpBin-Maker.dmg
- uses: softprops/action-gh-release@v2
with:
files: |
PumpBin.dmg
PumpBin-Maker.dmg
build-linux:
name: build-linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu
- run: sudo apt-get install -y crossbuild-essential-arm64
- run: cargo build --release --target=x86_64-unknown-linux-gnu
- run: cargo build --release --target=aarch64-unknown-linux-gnu
- run: mv target/x86_64-unknown-linux-gnu/release/pumpbin PumpBin-x86_64-unknown-linux-gnu
- run: mv target/x86_64-unknown-linux-gnu/release/maker PumpBin-Maker-x86_64-unknown-linux-gnu
- run: mv target/aarch64-unknown-linux-gnu/release/pumpbin PumpBin-aarch64-unknown-linux-gnu
- run: mv target/aarch64-unknown-linux-gnu/release/maker PumpBin-Maker-aarch64-unknown-linux-gnu
- uses: softprops/action-gh-release@v2
with:
files: |
PumpBin-x86_64-unknown-linux-gnu
PumpBin-Maker-x86_64-unknown-linux-gnu
PumpBin-aarch64-unknown-linux-gnu
PumpBin-Maker-aarch64-unknown-linux-gnu