56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: build
|
|
on:
|
|
push: { branches: [ '*' ] }
|
|
workflow_dispatch:
|
|
concurrency:
|
|
group: ${{ github.sha }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
- macos-latest # arm64
|
|
- ubuntu-24.04-arm # arm64
|
|
- ubuntu-latest # x64
|
|
- windows-11-arm # arm64
|
|
- windows-latest # x64
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 512
|
|
fetch-tags: true
|
|
filter: 'tree:0'
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cargo
|
|
key: ${{ matrix.os }}-${{ runner.arch }}-${{ hashFiles('Cargo.lock') }}-cargo-home
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: target
|
|
key: ${{ matrix.os }}-${{ runner.arch }}-${{ hashFiles('Cargo.lock') }}-cargo-target
|
|
- run: cargo build --workspace --verbose --all-features
|
|
- if: runner.os == 'Windows'
|
|
working-directory: windows
|
|
run: |
|
|
$env:RADICLE_VERSION = "$(.\version.ps1)"
|
|
echo $env:RADICLE_VERSION
|
|
dotnet build
|
|
- if: runner.os == 'Windows'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: radicle-installer-${{ runner.arch }}-${{ github.sha }}-${{ github.job }}
|
|
path: windows/bin/*/*.msi
|
|
- if: runner.os != 'Windows'
|
|
run: cargo test --workspace --verbose --all-features -- --nocapture
|
|
- if: runner.os == 'Windows'
|
|
run: cargo test --workspace --verbose --all-features -- --nocapture
|
|
env:
|
|
RUST_BACKTRACE: full
|
|
RUST_LOG: trace
|
|
RUST_TEST_THREADS: 1
|