name: Build Rust Application on: push: branches: [ master ] tags: [ 'v*.*.*' ] pull_request: workflow_dispatch: env: CARGO_TERM_COLOR: always jobs: linux-amd64: name: Linux amd64 (.deb) runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Install cargo-deb run: cargo install cargo-deb - name: Build Debian package run: cargo deb -p reporter -- --bin cheburchecker - name: Upload artifact uses: actions/upload-artifact@v7 with: name: linux-amd64-deb path: target/debian/*.deb compression-level: 0 linux-arm64: name: Linux arm64 (.deb via cross) runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Install cargo-deb run: cargo install cargo-deb - name: Build binary uses: houseabsolute/actions-rust-cross@v1 with: command: build target: "aarch64-unknown-linux-gnu" args: "--release --bin cheburchecker" strip: true - name: Create Debian archive run: cargo deb --target aarch64-unknown-linux-gnu --no-strip --no-build -p reporter -- --bin cheburchecker - name: Upload artifact uses: actions/upload-artifact@v7 with: name: linux-arm64-deb path: target/aarch64-unknown-linux-gnu/debian/*.deb windows: name: Windows amd64 runs-on: windows-latest steps: - uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Build release binary run: cargo build --release --bin cheburchecker - name: Upload artifact uses: actions/upload-artifact@v7 with: name: windows-amd64-exe path: target/release/*.exe