name: CI permissions: contents: read on: pull_request: push: branches: - main - dev schedule: - cron: '0 0 * * *' workflow_dispatch: defaults: run: shell: bash jobs: test: strategy: fail-fast: false matrix: os: - ubuntu-20.04 tool: # Note: Specifying the version of valgrind and wasm-pack is not supported. # cargo-watch is supported by cargo-binstall (through quickinstall) - cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cross,nextest,shellcheck,shfmt,valgrind,wasm-pack,wasmtime,mdbook,cargo-watch - cargo-hack@0.5.14,cargo-llvm-cov@0.4.8,cargo-minimal-versions@0.1.4,parse-changelog@0.4.8,cross@0.2.1,nextest@0.9.11,shellcheck@0.8.0,shfmt@3.5.1,wasmtime@0.38.1,mdbook@0.4.19,cargo-watch@8.1.1 # Nextest supports basic version ranges as well - nextest@0.9 include: # Note: mdBook binary is incompatible with ubuntu 18.04, # see https://github.com/rust-lang/mdBook/issues/1779 - os: ubuntu-18.04 tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cross,nextest,shellcheck,shfmt,valgrind,wasm-pack,wasmtime,cargo-watch - os: macos-10.15 tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cross,nextest,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,cargo-watch - os: windows-2019 tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,parse-changelog,cross,nextest,cargo-watch runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 with: persist-credentials: false - uses: ./ with: tool: ${{ matrix.tool }} tidy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: persist-credentials: false - uses: taiki-e/install-action@shellcheck - uses: taiki-e/install-action@shfmt - run: npm install prettier - run: shfmt -d $(git ls-files '*.sh') if: always() - run: npx prettier -c $(git ls-files '*.yml') if: always() - run: npx prettier -c $(git ls-files '*.js') if: always() - run: shellcheck $(git ls-files '*.sh') if: always()