name: Cron CI
on:
push:
branches:
- master
schedule:
- cron: '0 8 * * 1,5'
jobs:
test:
name: (Check & Build &) Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
rust-toolchains:
- 1.65.0
- stable
- beta
- nightly
latest-lockfile: [true, false]
feature--alloc-or-std: ['', '--features alloc']
feature--unsize: ['', '--features unsize']
steps:
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
override: true
toolchain: ${{ matrix.rust-toolchains }}
- name: Clone repo
uses: actions/checkout@v2
- name: Update the lockfile
if: ${{ matrix.latest-lockfile }}
uses: actions-rs/cargo@v1
with:
command: update
- name: Cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: |
--no-default-features ${{ matrix.feature--alloc }} ${{ matrix.feature--unsize }}
test-with-miri:
name: Test with Miri
runs-on: ubuntu-latest
strategy:
matrix:
feature--alloc: ['', '--features alloc']
feature--unsize: ['', '--features unsize']
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: Test with miri
run: ./miri_test.sh --no-default-features ${{ matrix.feature--alloc }} ${{ matrix.feature--unsize }}