Flake check gitea action
All checks were successful
Check Flake / check-flake (push) Successful in 1m28s
All checks were successful
Check Flake / check-flake (push) Successful in 1m28s
This commit is contained in:
parent
2009180827
commit
0efcf8f3fc
38
.gitea/workflows/check-flake.yaml
Normal file
38
.gitea/workflows/check-flake.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
name: Check Flake
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
env:
|
||||||
|
DEBIAN_FRONTEND: noninteractive
|
||||||
|
PATH: /run/current-system/sw/bin/:/nix/var/nix/profiles/per-user/gitea-runner/profile/bin
|
||||||
|
|
||||||
|
# defaults:
|
||||||
|
# run:
|
||||||
|
# shell: nix shell nixpkgs#nodejs-18_x
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-flake:
|
||||||
|
runs-on: nixos
|
||||||
|
steps:
|
||||||
|
# - run: node --version
|
||||||
|
# - name: Install basic dependencies
|
||||||
|
# run: apt-get update && apt-get install -y --no-install-recommends sudo curl ca-certificates xz-utils
|
||||||
|
|
||||||
|
# - name: Install Nix
|
||||||
|
# uses: https://github.com/cachix/install-nix-action@v20
|
||||||
|
# with:
|
||||||
|
# github_access_token: ${{ secrets.__GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: nix profile install nixpkgs#nodejs-18_x
|
||||||
|
|
||||||
|
- name: Checkout the repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
# - name: Get ENV var names
|
||||||
|
# run: printenv | cut -d'=' -f1
|
||||||
|
|
||||||
|
- name: Check Flake
|
||||||
|
run: nix flake check --show-trace
|
@ -11,12 +11,6 @@ in
|
|||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = lib.mdDoc "gitea runner data directory.";
|
description = lib.mdDoc "gitea runner data directory.";
|
||||||
};
|
};
|
||||||
instanceUrl = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
registrationTokenFile = lib.mkOption {
|
|
||||||
type = lib.types.path;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
@ -35,13 +29,6 @@ in
|
|||||||
};
|
};
|
||||||
users.groups.gitea-runner = { };
|
users.groups.gitea-runner = { };
|
||||||
|
|
||||||
# registration token
|
|
||||||
services.gitea-runner.registrationTokenFile = "/run/agenix/gitea-runner-registration-token";
|
|
||||||
age.secrets.gitea-runner-registration-token = {
|
|
||||||
file = ../../secrets/gitea-runner-registration-token.age;
|
|
||||||
owner = "gitea-runner";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.gitea-runner = {
|
systemd.services.gitea-runner = {
|
||||||
description = "Gitea Runner";
|
description = "Gitea Runner";
|
||||||
|
|
||||||
@ -57,40 +44,7 @@ in
|
|||||||
|
|
||||||
path = with pkgs; [ gitea-actions-runner ];
|
path = with pkgs; [ gitea-actions-runner ];
|
||||||
|
|
||||||
# based on https://gitea.com/gitea/act_runner/src/branch/main/run.sh
|
|
||||||
script = ''
|
script = ''
|
||||||
. ${cfg.registrationTokenFile}
|
|
||||||
|
|
||||||
if [[ ! -s .runner ]]; then
|
|
||||||
try=$((try + 1))
|
|
||||||
success=0
|
|
||||||
|
|
||||||
LOGFILE="$(mktemp)"
|
|
||||||
|
|
||||||
# The point of this loop is to make it simple, when running both act_runner and gitea in docker,
|
|
||||||
# for the act_runner to wait a moment for gitea to become available before erroring out. Within
|
|
||||||
# the context of a single docker-compose, something similar could be done via healthchecks, but
|
|
||||||
# this is more flexible.
|
|
||||||
while [[ $success -eq 0 ]] && [[ $try -lt ''${10:-10} ]]; do
|
|
||||||
act_runner register \
|
|
||||||
--instance "${cfg.instanceUrl}" \
|
|
||||||
--token "$GITEA_RUNNER_REGISTRATION_TOKEN" \
|
|
||||||
--name "${config.networking.hostName}" \
|
|
||||||
--no-interactive > $LOGFILE 2>&1
|
|
||||||
|
|
||||||
cat $LOGFILE
|
|
||||||
|
|
||||||
cat $LOGFILE | grep 'Runner registered successfully' > /dev/null
|
|
||||||
if [[ $? -eq 0 ]]; then
|
|
||||||
echo "SUCCESS"
|
|
||||||
success=1
|
|
||||||
else
|
|
||||||
echo "Waiting to retry ..."
|
|
||||||
sleep 5
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec act_runner daemon
|
exec act_runner daemon
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.gitea-runner = {
|
networking.hostName = "phil";
|
||||||
enable = true;
|
services.gitea-runner.enable = true;
|
||||||
instanceUrl = "https://git.neet.dev";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,14 @@
|
|||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
system.autoUpgrade.enable = true;
|
networking.hostName = "s0";
|
||||||
|
|
||||||
|
# system.autoUpgrade.enable = true;
|
||||||
|
|
||||||
|
# gitea runner and allow it to build ARM derivations
|
||||||
|
services.gitea-runner.enable = true;
|
||||||
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
nix.gc.automatic = lib.mkForce false; # allow the nix store to serve as a build cache
|
||||||
|
|
||||||
services.iperf3.enable = true;
|
services.iperf3.enable = true;
|
||||||
services.iperf3.openFirewall = true;
|
services.iperf3.openFirewall = true;
|
||||||
|
Binary file not shown.
@ -19,9 +19,6 @@ with roles;
|
|||||||
"hashed-robots-email-pw.age".publicKeys = email-server;
|
"hashed-robots-email-pw.age".publicKeys = email-server;
|
||||||
"robots-email-pw.age".publicKeys = gitea;
|
"robots-email-pw.age".publicKeys = gitea;
|
||||||
|
|
||||||
# gitea
|
|
||||||
"gitea-runner-registration-token.age".publicKeys = gitea-runner;
|
|
||||||
|
|
||||||
# vpn
|
# vpn
|
||||||
"iodine.age".publicKeys = iodine;
|
"iodine.age".publicKeys = iodine;
|
||||||
"pia-login.age".publicKeys = pia;
|
"pia-login.age".publicKeys = pia;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user