//go:build workflows package main var _ = (&Workflow{ Name: "Test", On: []any{"push"}, Jobs: Map[Job]{ {K: "hakurei", V: Job{ Name: "Hakurei", On: "nix", Steps: []Step{ checkout, newNixOSTest("hakurei"), newUploadArtifact("test output", "hakurei-vm-output"), }, }}, {K: "race", V: Job{ Name: "Hakurei (race detector)", On: "nix", Steps: []Step{ checkout, newNixOSTest("race"), newUploadArtifact("test output", "hakurei-race-vm-output"), }, }}, {K: "sandbox", V: Job{ Name: "Sandbox", On: "nix", Steps: []Step{ checkout, newNixOSTest("sandbox"), newUploadArtifact("test output", "sandbox-vm-output"), }, }}, {K: "sandbox-race", V: Job{ Name: "Sandbox (race detector)", On: "nix", Steps: []Step{ checkout, newNixOSTest("sandbox-race"), newUploadArtifact("test output", "sandbox-race-vm-output"), }, }}, {K: "sharefs", V: Job{ Name: "ShareFS", On: "nix", Steps: []Step{ checkout, newNixOSTest("sharefs"), newUploadArtifact("test output", "sharefs-vm-output"), }, }}, {K: "check", V: Job{ Name: "Flake checks", On: "nix", Needs: []string{ "hakurei", "race", "sandbox", "sandbox-race", "sharefs", }, Steps: []Step{ checkout, { Name: "Run checks", Run: "nix " + "--print-build-logs " + "--experimental-features 'nix-command flakes' " + "flake check ./test", }, }, }}, {K: "dist", V: Job{ Name: "Create distribution", On: "rosa", Steps: []Step{ fixup, checkout, newCIRequest("distribution", "dist -o result", "dist-test"), newUploadArtifact( "distribution", "hakurei-${{ steps.dist-test.outputs.version }}", ), }, }}, }, }).mustWriteFile("test")