Skip to content

Verbatim copy of plain text MPL 2.0 #164

Verbatim copy of plain text MPL 2.0

Verbatim copy of plain text MPL 2.0 #164

Workflow file for this run

name: CI
on:
push:
branches:
- main
- '*.*'
pull_request:
branches:
- '*'
schedule:
- cron: '0 0 * * MON'
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: Check
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable, nightly]
include:
- rust: "1.76"
wasm32-wasip1: wasm32-wasi
- rust: stable
wasm32-wasip1: wasm32-wasip1
- rust: nightly
wasm32-wasip1: wasm32-wasip1
steps:
- name: Checkout the Repository
uses: actions/checkout@v2
- name: Install the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
target: ${{ matrix.wasm32-wasip1 }}
override: true
- name: Install power tools
uses: taiki-e/install-action@cargo-hack
- name: Check the powerset
run: |
cargo hack check --all \
--feature-powerset --keep-going
- name: Check the powerset on ${{ matrix.wasm32-wasip1 }}
run: |
cargo hack check --all \
--exclude numcodecs-python \
--exclude numcodecs-sz3 \
--exclude numcodecs-zfp \
--exclude numcodecs-zstd \
--feature-powerset --keep-going \
--target ${{ matrix.wasm32-wasip1 }}
test:
name: Test Suite
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable, nightly]
python: ["3.10", "3.11", "3.12"]
steps:
- name: Checkout the Repository
uses: actions/checkout@v2
- name: Install the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
override: true
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install power tools
uses: taiki-e/install-action@cargo-hack
- name: Install numcodecs
run: pip install numcodecs
- name: Run the test-suite powerset
run: |
cargo hack test --workspace \
--no-fail-fast --feature-powerset --keep-going \
--release
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout the Repository
uses: actions/checkout@v2
- name: Install the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
components: rustfmt
override: true
- name: Check the code formatting
run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable]
include:
- rust: "1.76"
wasm32-wasip1: wasm32-wasi
- rust: stable
wasm32-wasip1: wasm32-wasip1
steps:
- name: Checkout the Repository
uses: actions/checkout@v2
- name: Install the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
target: ${{ matrix.wasm32-wasip1 }}
components: clippy
override: true
- name: Install power tools
uses: taiki-e/install-action@cargo-hack
- name: Check the code style powerset
if: ${{ matrix.rust == 'stable' }}
run: |
cargo hack clippy --all \
--feature-powerset --keep-going \
-- -D warnings
- name: Check the code style powerset
if: ${{ matrix.rust != 'stable' }}
run: |
cargo hack clippy --all \
--feature-powerset --keep-going \
-- -D warnings -A unknown-lints
- name: Check the code style powerset on ${{ matrix.wasm32-wasip1 }}
if: ${{ matrix.rust == 'stable' }}
run: |
cargo hack clippy --all \
--exclude numcodecs-python \
--exclude numcodecs-sz3 \
--exclude numcodecs-zfp \
--exclude numcodecs-zstd \
--feature-powerset --keep-going \
--target ${{ matrix.wasm32-wasip1 }} \
-- -D warnings
- name: Check the code style powerset on ${{ matrix.wasm32-wasip1 }}
if: ${{ matrix.rust != 'stable' }}
run: |
cargo hack clippy --all \
--exclude numcodecs-python \
--exclude numcodecs-sz3 \
--exclude numcodecs-zfp \
--exclude numcodecs-zstd \
--feature-powerset --keep-going \
--target ${{ matrix.wasm32-wasip1 }} \
-- -D warnings -A unknown-lints