mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-24 18:19:01 +00:00
docs/site: add "The CI server" chapter
This commit is contained in:
parent
8c1c6fffed
commit
c49f715237
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: The CI server
|
||||||
|
---
|
||||||
|
= The CI server
|
||||||
|
|
||||||
|
This project makes a lot of milage from using link:https://docs.github.com/actions[GitHub Actions] as the CI server.
|
||||||
|
It uses the server for a lot of automated tasks including:
|
||||||
|
|
||||||
|
* Checking whether all flake outputs are valid.
|
||||||
|
* Checking if the flake lockfile is up-to-date.
|
||||||
|
* Building the packages from this project and pushing it to a binary cache which speeds up fetching my packages.
|
||||||
|
* Building the personalized console ISO mainly used for bootstrapping systems and publicly releasing it. footnote:[I can't build the graphical installer since its size is more than 2GB which is the size limit for GitHub Releases.]
|
||||||
|
* Building the site project.
|
||||||
|
|
||||||
|
Not only this is great for them automation but also it prevents the magical it-works-on-my-machine-related problems.
|
||||||
|
|
||||||
|
[chat, Ezran, role=reversed]
|
||||||
|
====
|
||||||
|
Isn't that the point of using Nix, though?
|
||||||
|
To easily make reproducible builds preventing the it-works-on-my-machine problems.
|
||||||
|
====
|
||||||
|
|
||||||
|
[chat, foodogsquared]
|
||||||
|
====
|
||||||
|
Yeah but it can still happen especially that not all of the changes I push into the public repo is out.
|
||||||
|
====
|
||||||
|
|
||||||
|
To keep the CI workflows up-to-date, this project makes use of link:https://github.com/dependabot[Dependabot] which checks for GitHub actions versions weekly.
|
||||||
|
|
||||||
|
As a highlight, there are some nifty GitHub actions I found to fully take advantage of GitHub's large ecosystem.
|
||||||
|
|
||||||
|
* github:DeterminateSystems/update-flake-lock[Determinate Systems has a GitHub action for automating flake updates.]
|
||||||
|
* github:DeterminateSystems/nix-installer-action[They also have a Nix installer GitHub action.]
|
||||||
|
* github:DeterminateSystems/magic-nix-cache-action[They also have a nice GitHub action for caching Nix outputs] using your runners' built-in cache making certain steps faster.
|
@ -6,6 +6,7 @@
|
|||||||
** link:{{< relref "./02-lay-of-the-land/03-whats-in-my-flake/" >}}[What's in my flake?]
|
** link:{{< relref "./02-lay-of-the-land/03-whats-in-my-flake/" >}}[What's in my flake?]
|
||||||
** link:{{< relref "./02-lay-of-the-land/04-channels-support/" >}}[Channels support]
|
** link:{{< relref "./02-lay-of-the-land/04-channels-support/" >}}[Channels support]
|
||||||
** link:{{< relref "./02-lay-of-the-land/05-what-should-not-be-here/" >}}[What should not be here?]
|
** link:{{< relref "./02-lay-of-the-land/05-what-should-not-be-here/" >}}[What should not be here?]
|
||||||
|
** link:{{< relref "./02-lay-of-the-land/06-the-ci-server/" >}}[The CI server]
|
||||||
|
|
||||||
* Project-specific setup
|
* Project-specific setup
|
||||||
** link:{{< relref "./03-project-specific-setup/01-declarative-host-management" >}}[Declarative host management]
|
** link:{{< relref "./03-project-specific-setup/01-declarative-host-management" >}}[Declarative host management]
|
||||||
|
Loading…
Reference in New Issue
Block a user