Skip to content

chore: Add issue templates, labels, and workflows #20

chore: Add issue templates, labels, and workflows

chore: Add issue templates, labels, and workflows #20

Workflow file for this run

name: CI-rust
on:
push:
branches:
- main
paths:
- src/**
- examples/**
- Cargo.toml
- .github/workflows/test.yml
pull_request:
branches:
- main
paths:
- src/**
- examples/**
- Cargo.toml
- .github/workflows/test.yml
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
#ref https://github.com/pola-rs/polars/blob/main/.github/workflows/test-rust.yml
env:
RUSTFLAGS: -C debuginfo=0 # Do not produce debug symbols to keep memory usage down
jobs:
Formatting:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt
- name: Check format
run: cargo fmt -- --check
Linting:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: clippy
- name: Lint with clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
Testing:
needs: Formatting
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
build: [beta, stable, windows, macos]
include:
- build: macos
os: macos-latest
rust: stable
- build: windows
os: windows-latest
rust: stable
- build: beta
os: ubuntu-latest
rust: beta
- build: stable
os: ubuntu-latest
rust: stable
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Install ${{ matrix.rust }} toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all --no-fail-fast
MSRV:
needs: Formatting
runs-on: ubuntu-latest
env:
MSRV_VERSION: 1.70.0
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install MSRV toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.MSRV_VERSION }}
override: true
- name: check if README matches MSRV defined here
run: grep $MSRV_VERSION README.md
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all --no-fail-fast