aboutsummaryrefslogtreecommitdiff
path: root/src/x509-info/.github/workflows/build.yml
blob: 0d3d439695618848c8bb4f96227c1ae239a562bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: x509-info CI

on:
  push:

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - name: git checkout
        uses: actions/checkout@v3
      - name: install nix
        uses: cachix/install-nix-action@v17
      # This is a workaround for https://github.com/oxalica/rust-overlay/issues/54,
      # avoiding link errors when running cargo commands with `nix develop`.
      - name: Remove existing binaries from ~/.cargo/bin
        run: rm --recursive --force --verbose ~/.cargo/bin
      - name: check rust formatting
        run: nix develop --command cargo fmt --check
      - name: audit rust code
        run: nix develop --command cargo-deny check
      - name: clippy
        run: nix develop --command cargo clippy -- -D warnings

  test_and_build:
    name: Test and build
    runs-on: ubuntu-latest
    steps:
      - name: git checkout
        uses: actions/checkout@v3
      - name: install nix
        uses: cachix/install-nix-action@v17
      - name: Set up Rust cache
        uses: actions/cache@v3
        with:
          path: |
            ~/.cargo/bin/
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            target/
          key: x509-info-app-${{ hashFiles('**/Cargo.lock') }}
      - name: test
        run: nix develop --command cargo test
      - name: build
        run: nix build .
      - name: validate
        run: nix run . -- fcuny.net