Skip to content

Update Deno, build aarch64 wheels with QEMU #240

Update Deno, build aarch64 wheels with QEMU

Update Deno, build aarch64 wheels with QEMU #240

Workflow file for this run

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/