mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
- Disable default features in dependencies - Use anyhow::Error::msg to map errors. Note: anyhow will itself be removed later. - lazy_static/spin_no_std used in no_std environments - ensure_no_std binary is built to target thumbv7m-none-eabi to ensure that there are no std dependencies. thumbv7m-none-eabi target has no std support. - The opa-no-std feature enables only those Regorus features that work with no_std. - Enable tests with no_std - Update sizes of regorus binary in README.md - Ensure that regorus example can be built with only std - Ensure that regorus example can be built with no_std Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
name: Rust
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Add musl target
|
|
run: rustup target add x86_64-unknown-linux-musl
|
|
- name: Add no_std target
|
|
run: rustup target add thumbv7m-none-eabi
|
|
- name: Install musl-gcc
|
|
run: sudo apt update && sudo apt install -y musl-tools
|
|
- name: Format Check
|
|
run: cargo fmt --check
|
|
- name: Build (all features)
|
|
run: cargo build -r --all-features --verbose
|
|
- name: Build
|
|
run: cargo build -r --verbose
|
|
- name: Build no_std
|
|
run: cd tests/ensure_no_std && cargo build -r --target thumbv7m-none-eabi
|
|
- name: Test no_std
|
|
run: cargo test -r --no-default-features
|
|
- name: Build only std
|
|
run: cargo build -r --example regorus --no-default-features --features "std"
|
|
- name: Doc Tests
|
|
run: cargo test -r --doc
|
|
- name: Run tests
|
|
run: cargo test -r --verbose
|
|
- name: Run tests (ACI)
|
|
run: cargo test -r --test aci
|
|
- name: Run tests (KATA)
|
|
run: cargo test -r --test kata
|
|
- name: Run tests (OPA Conformance)
|
|
run: >-
|
|
cargo test -r --test opa --features opa-testutil,serde_json/arbitrary_precision -- $(tr '\n' ' ' < tests/opa.passing)
|
|
- name: Build (MUSL)
|
|
run: cargo build --verbose --all-targets --target x86_64-unknown-linux-musl
|
|
- name: Run tests (MUSL)
|
|
run: cargo test -r --verbose --target x86_64-unknown-linux-musl
|
|
- name: Run tests (MUSL ACI)
|
|
run: cargo test -r --test aci --target x86_64-unknown-linux-musl
|
|
- name: Run tests (KATA ACI)
|
|
run: cargo test -r --test kata --target x86_64-unknown-linux-musl
|
|
- name: Run tests (MUSL OPA Conformance)
|
|
run: >-
|
|
cargo test -r --test opa --features opa-testutil,serde_json/arbitrary_precision --target x86_64-unknown-linux-musl -- $(tr '\n' ' ' < tests/opa.passing)
|