build: Add automatic lint and build check
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
This commit is contained in:
parent
04a42d81ad
commit
9ee412838e
17
.build.yml
Normal file
17
.build.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
image: nixos/unstable
|
||||
packages:
|
||||
- nixos.gnumake
|
||||
sources:
|
||||
- https://git.sr.ht/~c8h4/nixos-config
|
||||
tasks:
|
||||
- setup: |
|
||||
mkdir -p .config/nix
|
||||
echo 'experimental-features = flakes nix-command' >.config/nix/nix.conf
|
||||
for f in $(find nixos-config/secrets -type f -name '*.nix'); do echo '{ }' > $f; done
|
||||
- lint: |
|
||||
cd nixos-config
|
||||
make lint
|
||||
- build: |
|
||||
cd nixos-config
|
||||
make build-all
|
|
@ -8,7 +8,7 @@ indent_style = space
|
|||
indent_size = 4
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.nix]
|
||||
[*.{nix,yml}]
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
|
|
17
Makefile
17
Makefile
|
@ -1,15 +1,26 @@
|
|||
export MAKEFLAGS :=
|
||||
|
||||
DEADNIX := nix run nixpkgs\#deadnix --
|
||||
MORPH := nix run nixpkgs\#morph --
|
||||
NIXFMT := nix run nixpkgs\#nixfmt --
|
||||
STATIX := nix run nixpkgs\#statix --
|
||||
|
||||
.PHONY: format
|
||||
.PHONY: format lint build-all upload-secrets-all build deploy deploy-full upload-secrets
|
||||
|
||||
all:
|
||||
@echo "no default action, use one of 'format', 'build', 'deploy' or 'upload-secrets'" 2>&1
|
||||
@echo "no default action, use one of 'format', 'lint', 'build', 'deploy' or 'upload-secrets'" 2>&1
|
||||
@exit 1
|
||||
|
||||
format:
|
||||
nix-shell -p nixfmt --run "find . -type f -name '*.nix' -exec nixfmt {} +"
|
||||
find . -type f -name '*.nix' -exec $(NIXFMT) {} +
|
||||
|
||||
lint:
|
||||
$(DEADNIX) --fail
|
||||
$(STATIX) check
|
||||
find . -type f -name '*.nix' -exec $(NIXFMT) --check {} +
|
||||
|
||||
build-all:
|
||||
for m in name; do $(MAKE) build M=$$m; done
|
||||
|
||||
upload-secrets-all:
|
||||
$(MORPH) upload-secrets --passwd ./default.nix
|
||||
|
|
Loading…
Reference in a new issue