Skip to content

CI

CI #34

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: 0 3 1 * *
workflow_dispatch:
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
build:
- x86_64
- x86_64-beta
- x86_64-nightly
- i686
- macos
- win64
- win32
include:
- build: x86_64
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
- build: x86_64-beta
os: ubuntu-latest
rust: beta
target: x86_64-unknown-linux-gnu
- build: x86_64-nightly
os: ubuntu-latest
rust: nightly
target: x86_64-unknown-linux-gnu
- build: i686
os: ubuntu-latest
rust: stable
target: i686-unknown-linux-gnu
- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
- build: win32
os: windows-latest
rust: stable
target: i686-pc-windows-msvc
- build: win64
os: windows-latest
rust: stable
target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v4
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
shell: bash
- run: rustup target add ${{ matrix.target }}
- run: rustup component add clippy
- run: cargo fmt -- --check
if: matrix.build == 'x86_64'
name: Check formatting
- run: cargo clippy -- -D warnings
name: Run clippy
- run: cargo build
name: Build
- run: cargo test
name: Run tests
- run: |
cargo update -Z minimal-versions
cargo build
if: matrix.rust == 'nightly'
name: Check minimal versions