diff options
author | Pjotr Prins | 2023-12-03 09:47:38 -0600 |
---|---|---|
committer | Pjotr Prins | 2023-12-03 09:47:38 -0600 |
commit | baeafc5ccc4a9893d22e6629db97720e3fa6d3ae (patch) | |
tree | 3701e477b4643893fbb33495ef64a758bba03de9 /topics/ci-cd/ci-rethink-slides.gmi | |
parent | aa3d310aa257f0ef0a8636272883c3c4e6855a1c (diff) | |
download | gn-gemtext-baeafc5ccc4a9893d22e6629db97720e3fa6d3ae.tar.gz |
Rename/move
Diffstat (limited to 'topics/ci-cd/ci-rethink-slides.gmi')
-rw-r--r-- | topics/ci-cd/ci-rethink-slides.gmi | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/topics/ci-cd/ci-rethink-slides.gmi b/topics/ci-cd/ci-rethink-slides.gmi new file mode 100644 index 0000000..e8cb601 --- /dev/null +++ b/topics/ci-cd/ci-rethink-slides.gmi @@ -0,0 +1,28 @@ +# CI Rethink slides + +## Background +* guix-forge is an independent general purpose project that powers our CI +* guix-forge is built on laminar +* CI jobs are just simple scripts +* scripts are written in G-expressions, but don't have to be + +## So far +* purpose-written scripts that were executed in profiles with the necessary dependencies +* dependencies are from current Guix +* container had to be rebuilt to update dependencies +* jobs did not have access to high-level Guix features (package definitions, build systems, manifests, etc.) +* jobs only understood low-level features (profile paths, store paths, etc.) +* One advantage: job runs were fast + +## What's new? +* jobs have access to the full expressive power of Guix +* project repositories are channels +* jobs pull from the channels and build all packages defined therein +* job script definitions now in package definitions from channels +* container need not be rebuilt each time dependencies change +* Perfect reproducibility: Make Fred's life easier +* One disadvantage: job runs will take a while + +## Why now? +* Ludo's blog post “From development environments to continuous integration” +* realization that project repositories could be channels
\ No newline at end of file |