summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yaml
diff options
context:
space:
mode:
authorseth <[email protected]>2024-08-16 22:14:16 -0400
committerGitHub <[email protected]>2024-08-17 02:14:16 +0000
commitbbc00edc6508ea1910c4d9e6a272f7859900950d (patch)
tree538fe23940cb6bca8afa48059e502bfa7d5608cd /.github/workflows/ci.yaml
parent66ea6f8c225cc2273cfbfb1b948604c170a78e8c (diff)
end of summer refactor (#31)
* crates: `bot-*` -> `discord-bot` I didn't really need all these crates to be split :/ * discord-bot: revamp http impl also handles the new errors reported by teawieAPI * crates: split http backend this can be reused easily * git-tracker: short-circuit boolean logic We don't need to check if the commit is a descendant of the HEAD of the branch if it *is* the HEAD * nix: fenix -> nixpkgs * treefmt: add actionlint * nix: use docker arch names for containers * ci: use actions-rust-lang actions * nix: drop ci dev shell * git-tracker: init ManagedRepository this logic can be shared * ci: use nix for clippy scan * discord-bot: better handle unmerged PRs * ci: fix treefmt check * nix: fix clippy check * .env.template: update crate names * git-tracker: use remote name for remote name i was half asleep * discord-bot: handle merged PRs that aren't found in any tracked branches * git-tracker: make collect_statuses_in() return a Vec * discord-bot: add more PR info with response fixes #18
Diffstat (limited to '.github/workflows/ci.yaml')
-rw-r--r--.github/workflows/ci.yaml43
1 files changed, 32 insertions, 11 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 365325d..c3f7a7e 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -5,39 +5,60 @@ on:
branches: [main]
paths:
- "**.nix"
- - "flake.lock"
- "**.rs"
- - "Cargo.toml"
+ - ".github/workflows/ci.yaml"
- "Cargo.lock"
+ - "Cargo.toml"
+ - "flake.lock"
pull_request:
paths:
- "**.nix"
- - "flake.lock"
- "**.rs"
- - "Cargo.toml"
+ - ".github/workflows/ci.yaml"
- "Cargo.lock"
+ - "Cargo.toml"
+ - "flake.lock"
workflow_dispatch:
jobs:
build:
name: Build
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ os: [macos-latest, windows-latest]
+
+ runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
- uses: dtolnay/rust-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
+ nix:
+ name: Nix
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Install Nix
+ uses: DeterminateSystems/nix-installer-action@v13
+
+ - name: Setup Nix cache
+ uses: DeterminateSystems/magic-nix-cache-action@v7
+
+ - name: Run build
+ run: nix build --print-build-logs --show-trace
+
treefmt:
name: Treefmt
@@ -52,11 +73,11 @@ jobs:
- name: Run check
run: |
- nix flake check --print-build-logs --show-trace
+ nix fmt -- --fail-on-change
release-gate:
name: CI Release gate
- needs: [build, treefmt]
+ needs: [build, nix, treefmt]
runs-on: ubuntu-latest