Skip to content

update: add CI, Example, Test and ReadmeTag #15

update: add CI, Example, Test and ReadmeTag

update: add CI, Example, Test and ReadmeTag #15

Workflow file for this run

name: CI
on:
push:
branches-ignore: ['gh-pages']
pull_request:
branches-ignore: ['gh-pages']
workflow_dispatch: {}
jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
targets: [x86_64-unknown-linux-gnu, x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none-softfloat]
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
components: rust-src, rustfmt, clippy
targets: ${{ matrix.targets }}
override: true
- name: Check rust version
run: rustc --version --verbose
- name: Check code format
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy -Z build-std=core,alloc --target ${{ matrix.targets }} --all-features -- -A clippy::new_without_default
- name: Build
run: cargo build -Z build-std=core,alloc --target ${{ matrix.targets }} --all-features
- name: Unit test
if: ${{ matrix.targets == 'x86_64-unknown-linux-gnu' }}
run: cargo test --target ${{ matrix.targets }} -- --nocapture
doc:
runs-on: ubuntu-latest
strategy:
fail-fast: false
permissions:
contents: write
env:
default-branch: ${{ format('refs/heads/{0}', github.event.repository.default_branch) }}
RUSTDOCFLAGS: -D rustdoc::broken_intra_doc_links -D missing-docs
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- name: Build docs
continue-on-error: ${{ github.ref != env.default-branch && github.event_name != 'pull_request' }}
run: |
cargo doc --no-deps --all-features
printf '<meta http-equiv="refresh" content="0;url=%s/index.html">' $(cargo tree | head -1 | cut -d' ' -f1) > target/doc/index.html
- name: Deploy to Github Pages
if: ${{ github.ref == env.default-branch }}
uses: JamesIves/github-pages-deploy-action@v4
with:
single-commit: true
branch: gh-pages
folder: target/doc