nix based ci

This commit is contained in:
Robin Appelman 2023-11-30 20:56:43 +01:00
commit 295231ae92
7 changed files with 2232 additions and 54 deletions

View file

@ -1,66 +1,89 @@
on: [push, pull_request]
name: CI
name: "CI"
on:
pull_request:
push:
jobs:
check:
name: Check
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v1
- uses: actions-rs/cargo@v1
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#check
check-all-features:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
command: check
- uses: actions-rs/cargo@v1
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#checkAll
clippy:
runs-on: ubuntu-latest
needs: check-all-features
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
command: check
args: --features=db-sqlx
- uses: actions-rs/cargo@v1
with:
command: check
args: --features=redis-connect
- uses: actions-rs/cargo@v1
with:
command: check
args: --all-features
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#clippy
test:
name: Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v1
- uses: actions-rs/cargo@v1
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#test
test-all-features:
runs-on: ubuntu-latest
needs: check-all-features
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
command: test
- uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#testAll
semver:
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4
- name: Check semver
uses: obi1kenobi/cargo-semver-checks-action@v2
msrv:
name: Check MSRV
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v24
- uses: icewind1991/attic-action@v1
with:
profile: minimal
toolchain: 1.58
override: true
- uses: Swatinem/rust-cache@v1
- uses: actions-rs/cargo@v1
with:
command: check
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#msrv