1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-07-01 10:41:03 +02:00

Merge pull request #471 from JakeStanger/ci/build-changes

Rewrite CI build workflow
This commit is contained in:
Jake Stanger 2024-02-25 21:43:19 +00:00 committed by GitHub
commit 39cb35b59d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 53 additions and 45 deletions

View file

@ -9,18 +9,24 @@ on:
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: '-Dwarnings'
jobs:
build:
rustfmt:
runs-on: ubuntu-latest
name: 'Formatting'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Check formatting
run: cargo fmt --check
clippy-base:
runs-on: ubuntu-latest
name: 'Clippy (Base features)'
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
name: Cache dependencies
@ -30,20 +36,45 @@ jobs:
sudo apt-get update
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev
- name: Check formatting
run: cargo fmt --check
- name: Clippy
run: cargo clippy --no-default-features --features config+json
env:
# Allow some warnings through as we'll never get it perfect in a zero-feature situation
RUSTFLAGS: '-A unused-imports -A unused-variables -A unused-mut -A dead-code'
- name: Clippy (base features)
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --no-default-features --features config+json
- name: Clippy (all features)
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features
clippy-all:
runs-on: ubuntu-latest
name: 'Clippy (All features)'
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
name: Cache dependencies
- name: Install build deps
run: |
sudo apt-get update
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev
- name: Clippy
run: cargo clippy --all-targets --all-features
build:
name: 'Build & Test'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
name: Cache dependencies
- name: Install build deps
run: |
sudo apt-get update
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev
- name: Build
run: cargo build --verbose
@ -52,27 +83,3 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: test
build-nix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
install_url: https://nixos.org/nix/install
extra_nix_config: |
auto-optimise-store = true
experimental-features = nix-command flakes
- uses: cachix/cachix-action@v12
with:
name: jakestanger
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix build --print-build-logs

View file

@ -127,7 +127,8 @@ A flake is included with the repo which can be used with Home Manager.
</details>
There is a Cachix cache available at `https://app.cachix.org/cache/jakestanger`.
CI builds are automatically cached by Garnix.
You can use their binary cache by following the steps [here](https://garnix.io/docs/caching).
### Source