diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 6cca79684..8582bdb23 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -14,15 +14,23 @@ jobs: - os: ubuntu-latest rust: stable target: x86_64-unknown-linux-gnu + run_tests: true - os: ubuntu-24.04-arm rust: stable target: aarch64-unknown-linux-gnu + run_tests: true + - os: ubuntu-24.04-riscv + rust: stable + target: riscv64gc-unknown-linux-gnu + run_tests: false - os: macOS-latest rust: stable target: x86_64-apple-darwin + run_tests: true - os: windows-latest rust: stable target: x86_64-pc-windows-msvc + run_tests: true runs-on: ${{ matrix.os }} steps: @@ -31,9 +39,14 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} + - name: Build + if: "!matrix.run_tests" + run: cargo build --locked --target ${{ matrix.target }} - name: Run tests + if: matrix.run_tests run: cargo test --locked --target ${{ matrix.target }} - name: Run tests feature variation + if: matrix.run_tests run: cargo test --locked --target ${{ matrix.target }} --no-default-features build-freebsd: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f1c944811..f165632ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macOS-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, ubuntu-24.04-riscv, macOS-latest, windows-latest] rust: [stable] runs-on: ${{ matrix.os }} @@ -46,6 +46,9 @@ jobs: - name: Build for linux aarch64 if: matrix.os == 'ubuntu-24.04-arm' run: make release_lnx_aarch64 + - name: Build for linux riscv64 + if: matrix.os == 'ubuntu-24.04-riscv' + run: make release_lnx_riscv64 - name: Build for macOS if: matrix.os == 'macOS-latest' run: make release_mac diff --git a/Makefile b/Makefile index f2a4a2b8d..828145b90 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,10 @@ release_lnx_aarch64: cargo build --locked --release --target=aarch64-unknown-linux-musl zip -j ${BIN_NAME}-v${VERSION}-aarch64-linux.zip target/aarch64-unknown-linux-musl/release/${BIN_NAME} +release_lnx_riscv64: + cargo build --locked --release + zip -j ${BIN_NAME}-v${VERSION}-riscv64-linux.zip target/release/${BIN_NAME} + release_win: cargo build --locked --release --target=x86_64-pc-windows-msvc mv -v target/x86_64-pc-windows-msvc/release/${BIN_NAME}.exe ./