Commit graph

97 commits

Author SHA1 Message Date
95d7a950b9 ci: update test snapshots 2025-05-31 23:08:35 +02:00
2f197d2c50 chore: split everything up into their own files & add a bunch of tests 2025-05-31 21:29:54 +02:00
b309fb59db Merge branch 'main' into testing 2025-05-31 16:06:47 +02:00
f9c009c450 feat: improve running jobs locally by adding a simple sandbox 2025-05-31 15:40:53 +02:00
dca2d724c1 fix(flakeModule): use default shell for stdenvMinimal for max compatibility 2025-05-11 16:19:31 +02:00
8e50828a2e ci: add nixtest job 2025-05-10 20:00:30 +02:00
93739ab27c tests: try testing with nixtest 2025-05-10 19:48:20 +02:00
11537ae271 fix(flakeModule): use bash for stdenvMinimal
fixes #24
2025-05-10 19:45:10 +02:00
9ee4ad02b8 Merge branch 'feat/v2' into 'main'
feat: v2

Closes #6, #7, #10, #13, #17, #19, #20, and #21

See merge request TECHNOFAB/nix-gitlab-ci!10
2025-05-03 21:36:37 +02:00
cf80010d07 docs: write docs & improve tooling
Squashed commit of the following:

commit 86eadd3ec42b7bce0dc5716d65798af95d0d8cbc
Author: technofab <admin@technofab.de>
Date:   Fri May 2 17:10:33 2025 +0200

docs(README): fix built with nix badge

commit f50057da69e89974f17bc37b5e140b2ef9f817f6
Author: technofab <admin@technofab.de>
Date:   Fri May 2 16:09:00 2025 +0200

ci: change back rule so docs only get deployed on main

commit ce02b043f4bd83c36285e5620e71701fc3bcc998
Author: technofab <admin@technofab.de>
Date:   Fri May 2 16:08:10 2025 +0200

docs: write docs and improve formatter etc.

commit e996b23cf877d8021759b782aa5996f5e2bf12ac
Author: technofab <admin@technofab.de>
Date:   Fri May 2 16:07:56 2025 +0200

docs: update README

commit 650f97b5608c32cf6cf66cc3fdd0965dc42e4860
Author: technofab <admin@technofab.de>
Date:   Wed Apr 23 21:05:14 2025 +0200

docs: add favicon

commit 67e1bfecbcaf0b8f7dad2eecfaccf774cc560874
Author: technofab <admin@technofab.de>
Date:   Wed Apr 23 20:53:44 2025 +0200

docs: initial setup
2025-05-02 17:30:53 +02:00
fa6c454b14 chore: update nixpkgs 2025-05-02 17:30:53 +02:00
b193df30f4 fix(script): quote NEW_PATHS to preserve newlines
hopefully finally gets rid of spaces which break attic
2025-04-04 22:22:35 +02:00
9cb54b33e8 fix: finalize_nix_ci echo added space to last derivation, fixed with -n 2025-04-04 21:08:36 +02:00
7cbd273de7 fix(image): switch from busybox to coreutils
busybox' diff took precedence over diffutils' which broke attic because
of spaces in the output (/store paths did not match the valid regex anymore)
2025-04-04 20:30:56 +02:00
8dc2e7d772 chore: slim down job-deps as much as possible 2025-04-04 20:30:56 +02:00
14530f8e9e
fix: update flake inputs to be able to fix docker image archs being swapped 2025-04-03 15:40:36 +02:00
a458a21c7b fix(scripts): remove nix substitutions from shell script 2025-03-23 14:55:40 +01:00
2bed4190a4 chore!: remove deprecated template 2025-03-23 14:36:05 +01:00
d734853223 chore(scripts): improve cache strategy handling, see #21 2025-03-22 21:50:33 +01:00
1e978a3edf refactor(flake): move setup and finalize script to separate files 2025-03-22 21:48:54 +01:00
62e465c094 fix(template): overriding default variables in child pipeline 2025-03-07 17:32:49 +01:00
6fa2806219 docs(readme): update usage infos 2025-03-04 16:23:51 +01:00
f1b8b5a210 refactor(template): get rid of rules and work around limitations in a new way 2025-03-04 16:12:51 +01:00
a5fba6d27d chore(flake): collapse nix ci top level section again for less clutter 2025-03-04 16:05:33 +01:00
dab96d0acd fix(module): rename variable 2025-03-04 15:23:46 +01:00
a63376edf1 chore: rename env variables back to non-_ versions
for testing, CI template still needs adjustments
2025-03-04 14:30:06 +01:00
060d8fad47 chore(module): slim down pipeline yaml generation even more 2025-02-28 12:53:17 +01:00
7a40a68a10 chore(template): skip checking if pipeline exists, just fail if not 2025-02-28 11:54:41 +01:00
36c4fc0fd6 fix(module): prevent parameter expansion when generating pipeline config 2025-02-27 11:19:50 +01:00
fa6c098e02 chore: improve nix-ci:build build time by using only builtins.toJSON
removes dependency on remarshal, pkgs.formats.json uses jq to pretty
print so we just use builtins.toJSON directly
2025-02-27 10:52:47 +01:00
85431f78aa chore: improve "default" handling & caching
add new env variables to configure which CI source gets mapped to default
add logic to check if pipeline exists in flake, else build "default"
2025-02-22 21:57:25 +01:00
55f90b4261 fix(ci): update artifact name in trigger job aswell 2025-02-21 22:53:00 +00:00
ebc70d5c18 fix(ci): fix artifact path 2025-02-21 21:26:28 +00:00
244142274d fix(ci): build correct package and hopefully handle cache issues 2025-02-21 18:52:55 +01:00
7569fcd086 fix(ci): work around gitlab's variable substitution limitations 2025-02-21 18:24:23 +01:00
b4071d4171 fix(ci): image seems quite important ngl 2025-02-21 16:36:50 +01:00
9d28984261 fix(ci): install buildah in the correct job 2025-02-21 16:21:11 +01:00
b0d24f753c fix(image): fix digest being different for every arch aswell 2025-02-21 16:04:59 +01:00
786abd917c fix: use new format of specifying version 2025-02-21 12:34:30 +01:00
586fb88b9d feat(v2): initial v2 implementation
add multi-arch (arm & x64) image
add multiple pipelines (ci now creates the "default" pipeline as a shorthand)
simplify devenv flake input
merge all cache options together, now $NIX_CI_CACHE_STRATEGY decides how the cache works
setup_nix_ci and finalize_nix_ci are now flake packages and work standalone
the specific image is not needed anymore, any image with the right dependencies works
runner cache is not the default anymore (because it sucked most of the time)
the pipeline is selected by $NIX_CI_PIPELINE_NAME or if empty by $CI_PIPELINE_SOURCE,
so for the old behaviour $NIX_CI_PIPELINE_NAME=default is needed, future
work will be needed to handle this more nicely
2025-02-21 12:24:54 +01:00
016e6c9dc7
chore!: rename NIX_CI_SKIP_CACHE → NIX_CI_FORCE_BUILD
closes #16
2025-02-15 21:35:36 +01:00
1101989255 fix(ci-component): honor NIX_CI_DISABLE_CACHE correctly 2024-11-30 17:57:31 +01:00
553b829af0 chore(README): bump component version 2024-11-30 15:13:22 +01:00
f229219a26 Merge branch 'chore/use-legacy-packages' into 'main'
chore(module): add packages to legacyPackages instead

Closes #12

See merge request TECHNOFAB/nix-gitlab-ci!7
2024-11-30 14:11:36 +00:00
012efc7aad Merge branch 'chore/update-flake-and-switch-attic' into 'main'
chore: update flake inputs and use attic-client from nixpkgs

Closes #15

See merge request TECHNOFAB/nix-gitlab-ci!9
2024-11-27 14:41:01 +00:00
a9075917cc Merge branch 'chore/nix-copy-from-stdin' into 'main'
chore(image): pass all store paths at once via stdin to nix copy

See merge request TECHNOFAB/nix-gitlab-ci!8
2024-11-27 13:15:50 +00:00
90a4079200 chore(image): pass all store paths at once via stdin to nix copy 2024-11-27 13:15:50 +00:00
026a7549df chore: update flake inputs and use attic-client from nixpkgs 2024-11-26 20:22:11 +01:00
a85c4e49fe chore: add additional NIX_CONFIG var & reformat
closes #11
2024-11-26 14:12:33 +01:00
856924acdf chore(module): add packages to legacyPackages instead 2024-11-26 13:31:04 +01:00