diff options
| author | seth <[email protected]> | 2024-08-09 23:35:41 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-09 23:35:41 -0400 |
| commit | b643a6a235b0c1c9902b97421f24eff2b0d0a5ac (patch) | |
| tree | 350794c0e9330fb77367838313bc6bb97278a0aa /.github/workflows/ci.yaml | |
| parent | 372780546b508684839916e5ad54c9e90456a94f (diff) | |
tree-wide: end of summer cleanup (#214)
* api: refactor & rename module to http
* client: split from main.rs
* tree-wide: use eyre::Report as error
* nix: alejandra -> nixfmt
* nix: start using treefmt-nix
* nix: simplify flake
* nix: refactor derivation & docker image
* nix: remove overlay
* ci: update & cleanup workflows
* commands: assign all commands automatically
* commands/copypasta: remove
* http/teawie: update response struct for upstream rust rewrite
* handlers: rename modules to events; flatten
* crates: rename self to teawie-bot
* nix: fenix -> rust-overlay
i want a specific rust version grrrrrrr
* ci: pin rust to 1.79
this is what our nix dev shell uses and what we can compile on. it seems
the time crate doesn't like v1.80 of the compiler :(
* ci: always run release gates
* nix: fix static toolchain
* nix: rust-overlay -> nixpkgs
* ci: adopt actions-rust-lang actions
* nix: use docker arch names for containers
* crates/time: 0.3.30 -> 0.3.36
fixes building on rust 1.80.0
Diffstat (limited to '.github/workflows/ci.yaml')
| -rw-r--r-- | .github/workflows/ci.yaml | 60 |
1 files changed, 43 insertions, 17 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9394567..f084a2a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,7 +3,17 @@ name: CI on: push: branches: [main] + paths: + - "**.nix" + - "**.rs" + - "**.lock" + - "Cargo.toml" pull_request: + paths: + - "**.nix" + - "**.rs" + - "**.lock" + - "Cargo.toml" workflow_dispatch: jobs: @@ -13,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [macos-latest, windows-latest] runs-on: ${{ matrix.os }} @@ -22,18 +32,14 @@ jobs: uses: actions/checkout@v4 - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - toolchain: stable - - - name: Setup Rust cache - uses: Swatinem/rust-cache@v2 + uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Run build - run: cargo build --locked --release + run: | + cargo build --locked --release - format-and-lint: - name: Format & lint + nix: + name: Nix runs-on: ubuntu-latest @@ -42,21 +48,41 @@ jobs: uses: actions/checkout@v4 - name: Install Nix - uses: DeterminateSystems/nix-installer-action@v12 + uses: DeterminateSystems/nix-installer-action@v13 - name: Setup Nix cache uses: DeterminateSystems/magic-nix-cache-action@v7 - - name: Run treefmt + - name: Run flake checks run: | - nix flake check --all-systems --print-build-logs --show-trace + nix build --print-build-logs --show-trace + + rustfmt: + name: Rustfmt + + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + components: rustfmt + + - name: Run rustfmt + uses: actions-rust-lang/rustfmt@v1 release-gate: - name: CI Release Gate - needs: [build, format-and-lint] + name: CI Release gate + needs: [build, rustfmt, nix] + + if: ${{ always() }} runs-on: ubuntu-latest steps: - - name: Exit with result - run: echo "We're good to go!" + - name: Exit with error + if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') + run: exit 1 |
