097f775cff
Merge branch 'typo' into 'main'
...
docs: fix Soonix URL in README.md
See merge request TECHNOFAB/nix-gitlab-ci!16
2025-12-16 20:26:09 +01:00
asimon
139912d9c6
docs: fix Soonix URL in README.md
2025-12-16 19:12:06 +01:00
8f88a53b54
chore: bump version
2025-12-11 10:17:52 +01:00
555ae3de29
chore: update flakes
2025-12-05 20:21:26 +01:00
8eadfb56ba
fix(modules): fold was deprecated, replace with foldr
2025-12-05 20:16:37 +01:00
8a77208ebe
chore: bump version
2025-12-03 21:02:46 +01:00
1e9ddff300
fix(modules/job): fix variables with nix store paths getting dropped
2025-12-03 20:47:39 +01:00
59f8bd169a
chore: bump version
2025-12-02 15:12:28 +01:00
97fb4fafc3
fix(jobPatched): handle non-nix jobs correctly
...
fix mkJobPatched removing `cache` and `variables` from non-nix jobs
See !15 for more
2025-12-02 15:10:35 +01:00
1c9e7c77c5
chore: add test and docs for handling nix store paths in global variables
2025-12-02 15:09:27 +01:00
Skryta Istota
96e6fe59bf
ci: fix oci image used for dog fooding & forks
2025-12-02 14:31:27 +01:00
Skryta Istota
d0662e3185
fix(helpers): use builtin nix store location indicator
2025-12-02 14:30:54 +01:00
524bdf9cdc
chore: bump version
2025-11-13 21:44:28 +01:00
f5181b7b61
fix(sandbox_helper): fix comparisons, rename TMPDIR variable, add help
...
1. fixes comparisons with true for flag variables
2. renames TMPDIR to NGCI_TMPDIR so it doesn't interfere with the
standardized TMPDIR var (and at some point accidentally deleting /tmp)
3. add small help message when invalid arg/param is passed
4. run `git add .` on copied git repo in /tmp so staged files stay
staged there aswell
2025-11-13 21:40:24 +01:00
afe1e02310
fix(job): use unmodified job for mkJobRun
...
otherwise it tries to run "setup_nix_ci" etc. when running locally,
which doesn't make sense here
2025-11-13 21:39:38 +01:00
fa33f6e0b7
chore: alias original pipeline source & document component issue
...
Closes #27
2025-10-09 14:04:21 +02:00
7cb73d2319
chore: bump version
2025-10-06 17:56:57 +02:00
5e39c4fbcc
Merge branch 'feat/v3'
2025-10-06 17:54:43 +02:00
046656458b
chore: remove old files in preparation for rewrite
2025-10-06 17:53:51 +02:00
0c6949f585
Merge branch 'patch-1' into 'main'
...
feat: customizable CI stages
See merge request TECHNOFAB/nix-gitlab-ci!13
2025-07-09 11:20:38 +02:00
Alessio Caiazza
625fe732b5
feat: customizable CI stages
2025-07-08 09:30:02 +02:00
f121b10dc9
Merge branch 'testing' into 'main'
...
Tests
Closes #23
See merge request TECHNOFAB/nix-gitlab-ci!12
2025-06-05 13:57:13 +02:00
69e0f7a419
chore(flake): update nixtest
2025-06-03 12:23:51 +02:00
df35d61170
fix(sandbox_helper): remove ''
2025-06-02 22:15:44 +02:00
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
50f0184a7b
chore(LICENSE): use markdown for better readability
...
[skip ci]
2024-10-30 16:11:19 +00:00
691a0aac79
chore: add LICENSE
...
[skip ci]
2024-10-30 16:10:18 +00:00
25e5b44a6d
feat(module): improve ability to run jobs locally
...
adds the correct PATH and environment variables to run it locally
similar to how it works in CI. Also split up the before_script, script
and after_script with simple echo's inbetween for easier debugging
2024-10-13 18:34:07 +02:00
532fb8002c
fix(module): append "finalize_nix_ci" to after_script, not prepend
2024-10-13 18:32:47 +02:00
81b497d976
chore(README): bump component version
2024-10-13 16:35:14 +02:00
67d75bd167
docs(README): document running jobs locally
...
[skip ci]
2024-10-13 15:50:18 +02:00
a47ec8cbeb
chore(CI): use image built in parent pipeline for dogfooding here aswell
...
remove retries
2024-10-08 12:33:31 +02:00
546eea3006
Merge branch 'ci/improve-dogfood' into 'main'
...
ci: improve dogfooding by using the CI built images directly
See merge request TECHNOFAB/nix-gitlab-ci!6
2024-10-07 16:59:30 +00:00
a22258583d
ci: improve dogfooding by using the CI built images directly
2024-10-07 16:59:30 +00:00
d04325807c
Merge branch 'fix/nix-copy-verbosity' into 'main'
...
fix(basic-image): append ^* to .drv entries to prevent warnings
Closes #5
See merge request TECHNOFAB/nix-gitlab-ci!5
2024-10-07 12:32:24 +00:00
ec279ae31e
fix(basic-image): append ^* to .drv entries to prevent warnings
...
instead print a "." without newline to be able to see progress
2024-10-06 19:19:33 +02:00
28072631e7
chore(README): bump component version
2024-10-02 21:40:26 +02:00
fdb6193ef1
fix(utils): migrate utils to the new syntax aswell
2024-10-02 18:26:14 +02:00
6448bf5916
chore(README): bump component version
2024-09-16 09:41:08 +00:00
0f62d5e822
fix: allow jobs to omit the "nix" option
2024-09-16 09:31:35 +00:00
854dfb6a90
chore(README): bump component version
...
[skip ci]
2024-09-13 18:44:37 +00:00
edaf08205b
Merge branch 'feat/improve-caching' into 'main'
...
feat: add support for Gitlab CI cache
Closes #2
See merge request TECHNOFAB/nix-gitlab-ci!4
2024-09-13 18:43:56 +00:00
78e6c5e278
feat: improve caching
2024-09-13 18:43:56 +00:00
39748cb380
chore(README): bump component version
...
[skip ci]
2024-09-13 17:55:05 +00:00
a2a7f7c4ed
chore(CI): build image on tag & tag images with short sha instead of date
2024-09-13 17:54:24 +02:00
97f49cbdf6
chore: add treefmt and format files
2024-09-13 17:22:38 +02:00
f30adf88d3
Merge branch 'feat/cicd-component' into 'main'
...
feat: add CI Component template
See merge request TECHNOFAB/nix-gitlab-ci!3
2024-09-11 15:03:43 +00:00
4e039a6b92
feat: add CI Component template
2024-09-11 15:03:42 +00:00
533bd2eef5
feat: add assertion to check if a job's stage exists
2024-09-10 13:07:48 +00:00
e3b35ec8ae
feat: add support for nix store paths in variables
...
by exporting them at runtime and removing them from the pipeline
definition itself
closes #3
2024-09-10 12:46:13 +00:00
ed80957884
docs(README): adjust input url for new lib flake
2024-07-28 14:53:15 +02:00
6bde7a5dfa
Merge branch 'feat/split-flake' into 'main'
...
feat: split lib and utils into separate flake
See merge request TECHNOFAB/nix-gitlab-ci!2
2024-07-28 12:51:14 +00:00
f361878e13
feat: split lib and utils into separate flake
2024-07-28 12:51:14 +00:00
c272bfd812
fix: allow rules to contain attrs
2024-03-23 21:09:05 +01:00
d26ead5f0b
fix: typo
2024-03-23 21:07:26 +01:00
b1117dd620
fix(module): fix before_script not getting appended if it exists
...
[skip ci]
2024-03-17 21:10:10 +01:00
f460960ce6
chore(utils): fix before_script getting overwritten and add collapsible sections
2024-03-17 18:26:45 +01:00
93baeca411
chore: update gitlab-ci.yml and only load job deps if name was passed to setup_nix_ci
2024-03-17 18:16:34 +01:00
12e55ad0b7
chore: add grep to images
2024-03-17 16:53:03 +01:00
85e18c5766
Merge branch 'cache' into 'main'
...
feat: caching support
See merge request TECHNOFAB/nix-gitlab-ci!1
2024-03-17 15:44:22 +00:00
3a05d7a128
feat: caching support
2024-03-17 15:44:22 +00:00
426d89702a
fix(utils): create ~/.ssh/known_hosts if it does not exist
2024-02-03 16:18:02 +01:00
262729e9bb
fix: add most gitlab options
2024-01-27 13:06:34 +01:00
3161819c57
fix: rules are a list of attrs
2024-01-26 15:13:17 +01:00
7cd9c571fe
feat: add utilities
2024-01-26 14:55:03 +01:00
3413fc3639
fix: add artifacts option
2024-01-26 12:25:59 +01:00
1b6ecec5c1
fix(image): use nix-flakes to get the newest nix version
...
nix-unstable-static is outdated? (2.10)
2024-01-14 18:33:54 +01:00
ff363cb165
fix(gitlab-ci-config): filter out any unset (null) values
2024-01-14 18:13:26 +01:00
77fded1940
fix: repository name must be lowercase
...
add some more job options
2024-01-14 18:02:05 +01:00
f3485837ce
fix: add when and start_in option
2024-01-14 17:17:24 +01:00
1b963cb641
chore: add README
2024-01-14 17:09:23 +01:00
0df36ad437
chore: initial commit
2024-01-14 16:45:07 +01:00