Add redoxos check in CI #22
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
schedule: # Build every day at 5PM UTC | |
- cron: '0 17 * * *' | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
jobs: | |
test-redox: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install redoxer prerequisites | |
run: | | |
sudo apt-get install fuse libfuse-dev | |
sudo apt-get update -qq | |
sudo apt-get install -qq bison build-essential curl dosfstools flex fuse genisoimage git | |
sudo apt-get install gnupg nasm parted pkg-config software-properties-common syslinux | |
sudo apt-get install syslinux-utils texinfo wget | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Install redoxer | |
run: cargo install redoxer | |
- name: build on redox-os | |
run: redoxer build | |
build-and-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-11, macos-12 ] | |
rust: [stable, beta] | |
experimental: [false] | |
include: | |
- os: ubuntu-latest | |
rust: nightly | |
experimental: true | |
- os: macos-11 | |
rust: nightly | |
experimental: true | |
- os: macos-12 | |
rust: nightly | |
experimental: true | |
continue-on-error: ${{ matrix.experimental }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: clippy | |
- name: Clippy | |
run: make clippy | |
- name: ConfigureCoverage | |
if: matrix.rust == 'nightly' | |
run: | | |
cargo install grcov | |
rustup component add llvm-tools-preview | |
echo RUSTFLAGS="-C instrument-coverage" >> "$GITHUB_ENV" | |
echo LLVM_PROFILE_FILE="libproc-%p-%m.profraw" >> "$GITHUB_ENV" | |
- name: Run Tests on Linux | |
if: runner.os == 'Linux' | |
run: env "PATH=$PATH" cargo test | |
- name: Run Tests as Root on Mac | |
if: runner.os == 'macOS' | |
run: sudo env "PATH=$PATH" cargo test | |
- name: UploadCoverage | |
if: matrix.rust == 'nightly' | |
run: make upload-coverage |