Update Deno, build aarch64 wheels with QEMU #240
Workflow file for this run
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
black-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: psf/black@stable | |
with: | |
options: "--check" | |
jupyter: true | |
src: "./vl-convert-python" | |
rust-fmt-clippy: | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
- name: Install latest stable Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Check cargo fmt compliance | |
run: cargo fmt --all -- --check | |
- name: Check no rustc warnings | |
run: cargo check --tests | |
- name: Check for clippy warnings | |
run: cargo clippy | |
cargo-bundle-license: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
- name: Install latest stable Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Install cargo bundle license | |
run: cargo install cargo-bundle-licenses | |
- name: Check that license is up to date | |
run: cargo bundle-licenses --format yaml --output CI.yaml --previous thirdparty_rust.yaml --check-previous | |
codegen-clean: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
- name: Install latest stable Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- name: Install Deno | |
uses: denoland/setup-deno@v1 | |
with: | |
deno-version: vx.x.x | |
- name: Run codegen | |
run: cargo run | |
working-directory: vl-convert-vendor | |
- name: Check that git detects to file changes | |
run: git diff --exit-code | |
vl-convert-rs-tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-2022 | |
- macos-11 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
- name: Install latest stable Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install fonts on Linux | |
if: runner.os == 'Linux' | |
run: | | |
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections | |
sudo apt-get install ttf-mscorefonts-installer | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
- name: Upload test failures | |
uses: actions/upload-artifact@v2 | |
if: always() | |
with: | |
name: failed-images | |
path: | | |
vl-convert-rs/tests/vl-specs/failed | |
vl-convert-python-tests: | |
runs-on: ${{ matrix.options[0] }} | |
defaults: | |
run: | |
shell: ${{ matrix.options[2] }} | |
strategy: | |
matrix: | |
options: | |
- [ubuntu-latest, '3.10', 'bash -l {0}'] | |
- [windows-2022, '3.10', "pwsh"] | |
- [macos-11, '3.10', 'bash -l {0}'] | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
- name: Install latest stable Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install fonts on Linux | |
if: runner.os == 'Linux' | |
run: | | |
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections | |
sudo apt-get install ttf-mscorefonts-installer | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: dev | |
python-version: ${{ matrix.options[1] }} | |
- name: install Python dependencies | |
run: | | |
python -m pip install pytest maturin | |
- name: Build development wheel | |
run: | | |
maturin develop -m vl-convert-python/Cargo.toml | |
- name: Run tests | |
working-directory: vl-convert-python/ | |
run: | | |
pytest tests/ | |