name: build/test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
linux:
runs-on: ubuntu-22.04
name: Ubuntu
steps:
- uses: actions/checkout@v3
- name: Prepare
run: git submodule update --init
- name: Build
run: cargo build --verbose --features userfaultfd,sanity
- name: Run tests
run: cargo test --verbose --features userfaultfd,sanity
macos:
runs-on: macOS-14
name: macOS
steps:
- uses: actions-rs/toolchain@v1
with:
profile: default
toolchain: nightly
- uses: actions/checkout@v3
- name: Prepare
run: git submodule update --init
- name: Install
run: rustup toolchain install nightly --component clippy && rustup target add x86_64-apple-darwin && rustup target add aarch64-apple-ios
- name: Clippy
run: cargo clippy
- name: Build ARM64 macOs
run: cargo build --verbose --features neon,sanity --target aarch64-apple-darwin
- name: Build X86_64 macOs
run: cargo build --verbose --features sanity --target x86_64-apple-darwin
- name: Build ARM64 iOs
run: cargo build --verbose --features neon,sanity,nothread,smallmem --target aarch64-apple-ios
- name: Run tests
run: cargo test --verbose --features sanity
freebsd:
runs-on: ubuntu-22.04
name: FreeBSD
steps:
- uses: actions/checkout@v3
- name: FreeBSD CI
id: test
uses: vmactions/freebsd-vm@v1
with:
usesh: true
sync: rsync
copyback: false
mem: 2048
release: "14.0"
prepare: |
pkg install -y git curl bash sudo
curl https://sh.rustup.rs -sSf | sh -s -- -y
run: |
git config --global --add safe.directory /home/runner/work/isoalloc-rs/isoalloc-rs
. "$HOME/.cargo/env"
git submodule update --init
cargo build --verbose --features sanity
cargo test --verbose #--features sanity