This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / tools / gh-act / flake-module.nix
1.4 kB 45 lines
1{ ... }: 2{ 3 perSystem = 4 { pkgs, ... }: 5 { 6 packages.gh-act = 7 (pkgs.writeShellApplication { 8 name = "gh-act"; 9 runtimeInputs = with pkgs; [ 10 yq 11 coreutils 12 ]; 13 text = '' 14 workflow="''${1:-.github/workflows/ci.yml}" 15 16 if [ ! -f "$workflow" ]; then 17 echo "Usage: gh-act [workflow.yml]" 18 echo "Run GitHub Actions workflow steps locally" 19 exit 1 20 fi 21 22 echo "Running: $workflow" 23 echo "==================" 24 25 # Extract each step and run it 26 for job in $(yq -r '.jobs | keys[]' "$workflow"); do 27 echo "=== Job: $job ===" 28 step_count=$(yq -r ".jobs[\"$job\"].steps | length" "$workflow") 29 for i in $(seq 0 $((step_count - 1))); do 30 name=$(yq -r ".jobs[\"$job\"].steps[$i].name // \"Step $i\"" "$workflow") 31 run_cmd=$(yq -r ".jobs[\"$job\"].steps[$i].run // empty" "$workflow") 32 33 if [ -n "$run_cmd" ]; then 34 echo ">>> Running: $name" 35 echo "---" 36 bash -c "$run_cmd" 37 echo 38 fi 39 done 40 done 41 ''; 42 }).overrideAttrs 43 { passthru.usage = builtins.readFile ./usage.kdl; }; 44 }; 45}