//go:build workflows package main var _ = (&Workflow{ Name: "Test", On: []any{"push"}, Jobs: Map[Job]{ {"hakurei-legacy", Job{ Name: "Hakurei (legacy)", On: "nix", Steps: []Step{ checkout, newNixOSTest("hakurei"), newUploadArtifact("test output", "hakurei-vm-output"), }, }}, {"hakurei-race-legacy", Job{ Name: "Hakurei (legacy with race instrument)", On: "nix", Steps: []Step{ checkout, newNixOSTest("race"), newUploadArtifact("test output", "hakurei-race-vm-output"), }, }}, {"sandbox", Job{ Name: "Sandbox", On: "rosa", Steps: []Step{ fixup, checkout, toolchain, newPackages(0, []string{"ppa:savoury1/pipewire"}, "libmount-dev", "sway", "xwayland", "xdg-dbus-proxy", "pipewire", ), newCIRequest("distribution", "dist -o result", "dist"), install, newTestsuite("hakurei/testsuite/sandbox", ""), }, }}, {"sandbox-race", Job{ Name: "Sandbox (with race instrument)", On: "rosa", Steps: []Step{ fixup, checkout, toolchain, newPackages(0, []string{"ppa:savoury1/pipewire"}, "libmount-dev", "sway", "xwayland", "xdg-dbus-proxy", "pipewire", ), newCIRequest("distribution", "race -o result", "dist"), install, newTestsuite("hakurei/testsuite/sandbox", ""), }, }}, {"sharefs", Job{ Name: "ShareFS", On: "rosa", Steps: []Step{ fixup, checkout, toolchain, newPackages(0, nil, "fuse3", "fsmark"), newCIRequest("distribution", "dist -o result", "dist"), install, { Name: "Mount sharefs", Run: "useradd " + "-ru 1023 " + "-md /var/lib/sdcard " + "-k /var/empty " + "-s /sbin/nologin " + "media_rw && install -dm0 /sdcard && " + "sharefs " + "-o rw,noexec,nosuid,nodev,noatime," + "allow_other,mkdir,source=/var/lib/sdcard," + "setuid=1023,setgid=1023 /sdcard", }, newTestsuite("sharefs/testsuite", "sharefs -V && "), newUploadArtifact("test output", "fs_mark"), }, }}, {"dist", Job{ Name: "Create distribution", On: "rosa", Steps: []Step{ fixup, checkout, newCIRequest("distribution", "dist -o result", "dist-test"), newUploadArtifact( "distribution", "dist-${{ steps.dist-test.outputs.rev }}", ), }, }}, }, }).mustWriteFile("test")