support to compile ftgrays/ftraster/gpac-evg #39
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: Rust CI # https://docs.github.com/en/actions, https://course.rs/test/ci.html | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
#schedule: -cron:'0 0 * * *' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
testbench: | |
#name: Build Rust Project | |
runs-on: ubuntu-latest # https://github.com/actions/virtual-environments | |
#strategy: | |
# matrix: | |
# toolchain: | |
# - stable | |
# - nightly | |
# | |
# build: [linux, macos, windows] | |
# include: | |
# - build: linux | |
# os: ubuntu-latest | |
# target: x86_64-unknown-linux-musl | |
# - build: macos | |
# os: macos-latest | |
# target: aarch64-apple-darwin | |
# - build: windows | |
# os: windows-latest | |
# target: x86_64-pc-windows-msvc | |
# fail-fast: false | |
steps: | |
#- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
#- name: Install toolchain | |
# uses: dtolnay/rust-toolchain@stable | |
# | |
# uses: actions-rs/toolchain@v1 | |
# with: | |
# toolchain: nightly | |
# #toolchain: ${{ matrix.rust }} | |
# #target: ${{ matrix.target }} | |
# #profile: minimal | |
# #override: true | |
#- uses: Swatinem/rust-cache@v2 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Run tests | |
# uses: taiki-e/install-action@nextest | |
run: cargo test -- --color always --nocapture #cargo nextest r | |
#- name: Benchmark | |
# run: cargo bench | |
# # sudo cargo flamegraph --bench calc24_bench | |
#- name: Publish to crates-io | |
# uses: katyo/publish-crates@v2 | |
# with: | |
# registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
coverage: # https://github.com/xd009642/tarpaulin | |
runs-on: ubuntu-latest | |
#container: | |
# image: xd009642/tarpaulin:develop-nightly | |
# options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@cargo-llvm-cov | |
- run: rustup toolchain install nightly --profile minimal --component llvm-tools | |
- name: Generate code coverage # https://github.com/actions-rs/tarpaulin | |
#env: | |
# CC: clang | |
# CXX: clang++ | |
run: cargo llvm-cov --lcov --output-path lcov.info #--workspace --all-features | |
# cargo +nightly llvm-cov --include-ffi --doctests --lcov --output-path lcov.info #--workspace --all-features | |
# cargo tarpaulin --run-types 'Tests,Doctests' --out Lcov --exclude-files 'inperse/src/*' | |
# cargo install tarpaulin | |
#uses: actions-rs/[email protected] # XXX: no more working | |
#with: | |
# #version: '0.20.1' | |
# #args: '-- --test-threads 1' | |
# run-types: 'Tests,Doctests' | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v3 | |
with: | |
# token: ${{secrets.CODECOV_TOKEN}} # not required for public repos | |
# fail_ci_if_error: true | |
files: lcov.info | |
#- name: Archive code coverage results | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: code-coverage-report | |
# path: cobertura.xml | |