forked from metacraft-labs/nixos-modules
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJustfile
More file actions
56 lines (49 loc) · 1.75 KB
/
Copy pathJustfile
File metadata and controls
56 lines (49 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
image := `nix eval --raw .#ci-image.imageRefUnsafe`
is-podman-available := `if command -v podman &> /dev/null; then echo true; else echo false; fi`
copy-to-docker := if is-podman-available == "true" { "copyToPodman" } else { "copyToDockerDaemon" }
docker-socket := if is-podman-available == "true" { "unix://${XDG_RUNTIME_DIR}/podman/podman.sock" } else { "unix:///var/run/docker.sock" }
do-offline-nix-build := if env("CI", "false") == "false" { "--offline" } else { "" }
show:
@echo image: {{image}}
@echo docker-socket: {{docker-socket}}
@echo copy-to-docker: {{copy-to-docker}}
@echo container engine: `docker --version 2>&1 | grep -v 'Switching default driver'`
image:
nix run --accept-flake-config {{do-offline-nix-build}} .#ci-image.{{copy-to-docker}}
exec: image
docker run -it {{image}}
act workflow_name="ci": image
#!/usr/bin/env bash
set -euo pipefail
if [ ! -f .gh-vars.env ]; then
echo "ERROR: .gh-vars.env not found"
echo "Create it with ATTIC_* and trusted cache variables from GitHub Actions"
exit 1
fi
if [ ! -f .gh-secrets.env ]; then
echo "ERROR: .gh-secrets.env not found"
echo "Create it with your ATTIC_TOKEN"
exit 1
fi
# Map workflow names to their files and job names
case "{{workflow_name}}" in
lint)
workflow_file="reusable-lint"
job_name="lint"
;;
*)
workflow_file="{{workflow_name}}"
job_name="{{workflow_name}}"
;;
esac
set -x
DOCKER_HOST="{{docker-socket}}" \
act workflow_dispatch \
-W ".github/workflows/${workflow_file}.yml" \
-j "${job_name}" \
--var-file './.gh-vars.env' \
--secret-file './.gh-secrets.env' \
--concurrent-jobs 1 \
--pull=false \
--input "runner=[\"self-hosted\"]" \
-P self-hosted={{image}}