nix/workflows/build: init #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This provides a basic CI setup using nix-actions in the sprinkles
formalism.
Signed-off-by: Raito Bezarius raito@afnix.fr
2cdd2751c4
to80b0a3e689
@ -61,2 +62,3 @@
directory = ./shell;
loader = subdir: path: scope.callPackage path { };
loader = subdir: path: scope.callPackage path {
sprinkle = self;
Use inherit self preferrably
Personally I do like to do it this way so that the use-sites go through the name
sprinkle
which IMO is clearer about what's being referenced thanself
. Some examples in285079fe13/nix/default.nix
@ -1,6 +1,16 @@
{
"version": "1",
"sources": {
"nix-actions": {
If you use https://git.afnix.fr/thubrecht/nix-actions it will be more up to date and is a sprinkle
Cool, on the note of sprinkles, I believe that we may need flakes interop if we start using them earnestly.
Yeah, that's a reasonable thing to want but not something I've spent much time thinking about how to design. Some experimentation out-of-tree of sprinkles is in order I think.
@ -14,5 +16,8 @@ mkShell {
nixfmt
reuse
treefmt
lon
I might put the addition of lon in a separate commit to communicate intent but not a huge deal.
@ -63,2 +66,4 @@
}
);
workflows =
The sprinkles convention is to use the singular form rather than the plural form, but I don't have a particularly strong opinion on this.
@ -0,0 +1,6 @@
{
You'll want to run
engage
as part of the workflow, as this repository already has anengage.toml
with some basic checks in it. There's an example of how to do this (not with nix-actions) at https://git.afnix.fr/sprinkles/sprinkles/src/commit/ea4a98c94b55248f47088b894076e2bc1324729a/.forgejo/workflows/ci.yml. If you want to run the NixOS test, you can donix build -f nix output.nixos-test.zulip
ornix run -f nix output.nixos-test.zulip.driver
for example. I would imagine that won't work in forgejo actions due to nested virtualization nonsense but I could be wrong.we have kvm on the forgejo actions :)
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.