From 5cea2de52c53331984df91813556e9944173655e Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 30 Sep 2026 14:09:09 +0900 Subject: internal/workflows: template common steps This removes duplicate code and significantly eases maintenance. Signed-off-by: Ophestra --- internal/workflows/step.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/workflows/step.go (limited to 'internal/workflows/step.go') diff --git a/internal/workflows/step.go b/internal/workflows/step.go new file mode 100644 index 00000000..d09e047e --- /dev/null +++ b/internal/workflows/step.go @@ -0,0 +1,34 @@ +//go:build workflows + +package main + +// checkout is the standard actions/checkout step. +var checkout = Step{Name: "Checkout", Uses: "actions/checkout@v4"} + +// newUploadArtifact returns an actions/upload-artifact step uploading +// everything in the result directory as the specified name. +func newUploadArtifact(display, name string) Step { + return Step{ + Name: "Upload " + display, + Uses: "actions/upload-artifact@v3", + + With: Map[any]{ + {K: "name", V: name}, + {K: "path", V: "result/*"}, + + {K: "retention-days", V: 1}, + }, + } +} + +// newNixOSTest returns a step for running the named NixOS test. +func newNixOSTest(name string) Step { + return Step{ + Name: "Run NixOS test", + Run: "nix build " + + "--out-link result " + + "--print-out-paths " + + "--print-build-logs " + + "./test#checks.x86_64-linux." + name, + } +} -- cgit v1.3.1