Skip to content

Fix extended-GCD panic when one operand divides the other #174

Fix extended-GCD panic when one operand divides the other

Fix extended-GCD panic when one operand divides the other #174

Workflow file for this run

on:
push:
branches:
- master
pull_request:
branches:
- master
name: Tests
jobs:
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable, "1.64", "1.61"]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Change dependency versions
run: git apply .github/workflows/change_version.patch
- name: Remove dev-deps for MSRV
run: git apply .github/workflows/remove_dev_deps.patch
- run: cargo check --all-features --tests
test:
name: Test
strategy:
matrix:
bits: [16, 32, 64]
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_PASSWORD: ''
POSTGRES_HOST_AUTH_METHOD: 'trust'
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings --cfg force_bits="${{ matrix.bits }}$"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --all-features --workspace --exclude benchmark --no-fail-fast
test-x86:
name: Test x86
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: i686-unknown-linux-gnu
- run: |
sudo apt update
sudo apt install gcc-multilib
- run: cargo test --target i686-unknown-linux-gnu --workspace --exclude benchmark --exclude dashu-python
test-x86_64:
name: Test x86_64
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: x86_64-unknown-linux-gnu
- run: cargo test --target x86_64-unknown-linux-gnu --workspace --exclude benchmark
test-no-std:
name: Test no-std
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --no-default-features --features rand --workspace --exclude benchmark --exclude dashu-python
build-benchmark:
name: Build benchmark
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo build -p benchmark --features gmp
build-aarch64:
name: Build aarch64
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: aarch64-unknown-linux-gnu
- run: cargo build --target aarch64-unknown-linux-gnu --all-features --workspace --exclude benchmark --exclude dashu-python
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy
- run: cargo clippy --all-features --all-targets --workspace --exclude benchmark -- -D warnings