Skip to content

Add Serialized wrapper to make it harder to accidentally deserialize the wrong type #2293

Add Serialized wrapper to make it harder to accidentally deserialize the wrong type

Add Serialized wrapper to make it harder to accidentally deserialize the wrong type #2293

Workflow file for this run

## Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
name: Test
on:
push:
branches:
- main
pull_request:
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.80.0
override: true
components: clippy, rustfmt
- uses: Swatinem/[email protected]
- name: Check package versions
run: python scripts/check_package_versions.py
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --all --all-targets
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --all
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
python -m pip install -r tests/requirements.txt
- name: Build Python binding
run: |
maturin build --manifest-path crates/pyhq/Cargo.toml --out wheels
WHEEL=`realpath wheels/*.whl`
python -m pip install $WHEEL[all]
- name: Test Python
id: python_test
run: python -m pytest tests -n4
- name: Archive test artifacts
if: always() && steps.python_test.outcome == 'failure'
run: tar -cvf artifacts.tar /tmp/pytest-*
- name: Upload test artifacts
uses: actions/upload-artifact@v3
if: always() && steps.python_test.outcome == 'failure'
with:
name: pytest artifacts
path: artifacts.tar
- name: Lint Rust
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all -- -D warnings
- name: Check Rust formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Lint Python
run: python -m ruff check
- name: Check Python formatting
run: python -m ruff format --check
- name: Build docs
run: |
python -m pip install -r docs/requirements.txt
mkdocs build
compatibility_mode:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-13
target: x86_64-apple-darwin
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: Swatinem/[email protected]
with:
key: ${{ matrix.os }}
- name: Build HyperQueue
run: cargo build --no-default-features
- name: Run HyperQueue
run: cargo run --no-default-features -- --version
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
python -m pip install -r tests/requirements.txt
- name: Install coreutils
run: brew install coreutils
- name: Build Python binding
run: |
maturin build --manifest-path crates/pyhq/Cargo.toml --out wheels
WHEEL=`realpath wheels/*.whl`
python -m pip install $WHEEL[all]