on: [push] jobs: formatting-nix: runs-on: beefcake steps: - name: Checkout uses: actions/checkout@v3 - name: alejandra -c . run: 'nix develop -c alejandra -c .' build: runs-on: beefcake steps: - name: Checkout uses: actions/checkout@v3 - name: Cache id: cache-build uses: actions/cache@v4 with: path: target key: ${{ runner.os }}-build - name: cargo build run: 'nix develop -c cargo build' test: runs-on: beefcake steps: - name: Checkout uses: actions/checkout@v3 - name: Cache id: cache-test uses: actions/cache@v4 with: path: target key: ${{ runner.os }}-test - name: Cache id: cache-test uses: actions/cache@v4 with: path: prime-numbers key: ${{ runner.os }}-build - name: cargo test run: 'nix develop -c cargo test' formatting-rust: runs-on: beefcake steps: - name: Checkout uses: actions/checkout@v3 - name: Cache id: cache-formatting uses: actions/cache@v4 with: path: target key: ${{ runner.os }}-formatting - name: cargo fmt --check run: 'nix develop -c cargo fmt --check' lint: runs-on: beefcake steps: - name: Checkout uses: actions/checkout@v3 - name: Cache id: cache-lint uses: actions/cache@v4 with: path: target key: ${{ runner.os }}-lint - name: cargo clippy run: 'nix develop -c cargo clippy'