Skip to content

nix: add Nix flake #731

nix: add Nix flake

nix: add Nix flake #731

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: rustfmt
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/fmt
shell: bash
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/lint
shell: bash
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/docs
shell: bash
cargo-deny:
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- uses: actions/checkout@v2
- uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check ${{ matrix.checks }}
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
toolchain:
- stable
- nightly
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.toolchain }}
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/build
shell: bash
test-linux:
runs-on: ubuntu-latest
needs: build-linux
strategy:
matrix:
toolchain:
- stable
- nightly
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
steps:
- uses: actions/checkout@master
with:
fetch-depth: 0
# The 'main' branch is needed for radicle-surf vcs::git::tests::test_submodule_failure,
# however actions/checkout uses the init.defaultBranch 'master' at this moment, even if
# the repo does not use 'master' branch. We create 'main' branch as needed for the test.
#
# awk magic: create 'main' branch only if not exist yet.
# END: do things at the end of the input.
# NR: Number of Records in the input.
- run: git branch --list main | awk 'END { if (NR == 0) system("git branch main; git branch -u origin/main main"); }'
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.toolchain }}
- uses: baptiste0928/cargo-install@v1
with:
crate: cargo-nextest
version: 0.9
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/test
shell: bash
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/build
shell: bash
test-macos:
runs-on: macos-latest
needs: build-macos
steps:
- uses: actions/checkout@master
with:
fetch-depth: 0
- run: git branch --list main | awk 'END { if (NR == 0) system("git branch main; git branch -u origin/main main"); }'
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: baptiste0928/cargo-install@v1
with:
crate: cargo-nextest
version: 0.9
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/test
shell: bash
build-windows:
runs-on: windows-latest
continue-on-error: true
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- run: ./scripts/ci/build
shell: bash