mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
ci/check: init
Adds a "check" CI workflow to replace buildbot. Uses nix-community/nix-github-actions to generate a job matrix as a `githubActions.matrix` flake output. This allows more customisation than simply building _all_ `checks`.
This commit is contained in:
parent
2f610f9754
commit
f57d629bb0
5 changed files with 107 additions and 0 deletions
74
.github/workflows/check.yml
vendored
Normal file
74
.github/workflows/check.yml
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
name: Check
|
||||
|
||||
on:
|
||||
workflow_dispatch: # can be triggered manually
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
push:
|
||||
branches-ignore:
|
||||
- update/*
|
||||
paths-ignore:
|
||||
- "LICENSE"
|
||||
|
||||
jobs:
|
||||
flake-checker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
- name: Run flake checker
|
||||
uses: DeterminateSystems/flake-checker-action@main
|
||||
|
||||
build-matrix:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
- name: Generate Nix Matrix
|
||||
id: set-matrix
|
||||
run: |
|
||||
set -Eeu
|
||||
matrix="$(nix eval --json .#githubActions.matrix)"
|
||||
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
|
||||
|
||||
build:
|
||||
name: ${{ matrix.name }} (${{ matrix.system }})
|
||||
needs:
|
||||
- build-matrix
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix: ${{ fromJSON(needs.build-matrix.outputs.matrix) }}
|
||||
steps:
|
||||
- name: Free disk space
|
||||
uses: wimpysworld/nothing-but-nix@main
|
||||
with:
|
||||
# Options: holster, carve, cleave (default), rampage
|
||||
hatchet-protocol: rampage
|
||||
root-safe-haven: "1024" # Default 2048MB
|
||||
mnt-safe-haven: "512" # Default 1024MB
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
- name: Setup nix cache
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: nix-community
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
- name: Build ${{ matrix.attr }}
|
||||
env:
|
||||
attr: ${{ matrix.attr }}
|
||||
run: |
|
||||
nix build ".#$attr" \
|
||||
--abort-on-warn \
|
||||
--print-build-logs \
|
||||
--log-format raw
|
|
@ -34,6 +34,7 @@
|
|||
checks = "dev";
|
||||
devShells = "dev";
|
||||
formatter = "dev";
|
||||
githubActions = "dev";
|
||||
};
|
||||
|
||||
# For any output attrs normally defined by the root flake configuration,
|
||||
|
|
21
flake/dev/flake.lock
generated
21
flake/dev/flake.lock
generated
|
@ -135,6 +135,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dev-nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737420293,
|
||||
"narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"dev-nixpkgs": "dev-nixpkgs",
|
||||
|
@ -143,6 +163,7 @@
|
|||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -32,6 +32,11 @@
|
|||
inputs.nixpkgs.follows = "dev-nixpkgs";
|
||||
};
|
||||
|
||||
nix-github-actions = {
|
||||
url = "github:nix-community/nix-github-actions";
|
||||
inputs.nixpkgs.follows = "dev-nixpkgs";
|
||||
};
|
||||
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "dev-nixpkgs";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
self,
|
||||
inputs,
|
||||
helpers,
|
||||
...
|
||||
}:
|
||||
|
@ -11,4 +12,9 @@
|
|||
inherit helpers self;
|
||||
};
|
||||
};
|
||||
|
||||
# Output a build matrix for CI
|
||||
flake.githubActions = inputs.nix-github-actions.lib.mkGithubMatrix {
|
||||
inherit (self) checks;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue