Skip to content

Stateful Tile Fetching #101

Stateful Tile Fetching

Stateful Tile Fetching #101

Workflow file for this run

name: Verify
on:
pull_request:
jobs:
# region Builds
verify-builds:
strategy:
fail-fast: false
matrix:
include:
- identifier: Windows
os: windows-latest
- identifier: Ubuntu
os: ubuntu-latest
- identifier: MacOS
os: macos-latest
name: Verify - Builds - ${{ matrix.identifier }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Rust Toolchain - Stable
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
cache: true
- name: Verify - `cargo build`
run: |
cargo build --all-features --release --verbose --workspace
cargo build --all-features --verbose --workspace
# region Lints
verify-lints:
strategy:
fail-fast: false
matrix:
include:
- identifier: Windows
os: windows-latest
- identifier: Ubuntu
os: ubuntu-latest
- identifier: MacOS
os: macos-latest
name: Verify - Lints - ${{ matrix.identifier }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Rust Toolchain - Stable
uses: actions-rust-lang/setup-rust-toolchain@v1.10
with:
components: clippy, rustfmt
toolchain: stable
cache: true
- name: Verify - `cargo fmt`
run: |
cargo fmt --check
- name: Verify - `cargo clippy`
run: |
cargo clippy --no-deps --all-features -- -Dwarnings
# region Linux Wheels
verify-linux-wheels:
strategy:
fail-fast: false
matrix:
include:
- identifier: x86_64
target: x86_64
- identifier: x86
target: x86
- identifier: ARM64
target: aarch64
name: Verify - Wheels - Linux - ${{ matrix.identifier }}
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Build Wheels
uses: PyO3/maturin-action@v1
with:
args: --release --out dist --find-interpreter
manylinux: auto
sccache: "true"
target: ${{ matrix.target }}
working-directory: snapr-py
# region MacOS Wheels
verify-macos-wheels:
strategy:
fail-fast: false
matrix:
include:
- identifier: x86_64
os: macos-12
target: x86_64
- identifier: ARM64
os: macos-14
target: aarch64
name: Verify - Wheels - MacOS - ${{ matrix.identifier }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Build Wheels
uses: PyO3/maturin-action@v1
with:
args: --release --out dist --find-interpreter
sccache: "true"
target: ${{ matrix.target }}
working-directory: snapr-py
# region Musl Wheels
verify-musl-wheels:
strategy:
fail-fast: false
matrix:
include:
- identifier: x86_64
target: x86_64
- identifier: x86
target: x86
- identifier: ARM64
target: aarch64
name: Verify - Wheels - Musl - ${{ matrix.identifier }}
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Build Wheels
uses: PyO3/maturin-action@v1
with:
args: --release --out dist --find-interpreter
manylinux: musllinux_1_2
sccache: "true"
target: ${{ matrix.target }}
working-directory: snapr-py
# region Source Distribution
verify-source-distribution:
name: Verify - Source Distribution
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Build Source Distribution
uses: PyO3/maturin-action@v1
with:
args: --out dist
command: sdist
working-directory: snapr-py
# region Tests
verify-tests:
strategy:
fail-fast: false
matrix:
include:
- identifier: Windows
os: windows-latest
- identifier: Ubuntu
os: ubuntu-latest
- identifier: MacOS
os: macos-latest
name: Verify - Tests - ${{ matrix.identifier }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Rust Toolchain - Stable
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
cache: true
- name: Verify - `cargo test`
run: |
cargo test --all-features --no-fail-fast --verbose --workspace
# region Windows Wheels
verify-windows-wheels:
strategy:
fail-fast: false
matrix:
include:
- identifier: x64
target: x64
- identifier: x86
target: x86
name: Verify - Wheels - Windows - ${{ matrix.identifier }}
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v5
with:
architecture: ${{ matrix.target }}
python-version: 3.x
- name: Build Wheels
uses: PyO3/maturin-action@v1
with:
args: --release --out dist --find-interpreter
sccache: "true"
target: ${{ matrix.target }}
working-directory: snapr-py