CI test dev shell

This commit is contained in:
pazpi 2025-12-05 13:36:30 +01:00
parent 8538c28f28
commit 7f4987dc85

View file

@ -70,13 +70,56 @@
colmenaHive = colmena.lib.makeHive self.outputs.colmena; colmenaHive = colmena.lib.makeHive self.outputs.colmena;
colmena = hosts; colmena = hosts;
devShells.${system}.default = pkgs.mkShell { devShells.${system} = {
default = pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
lazygit lazygit
agenix.packages.${system}.agenix agenix.packages.${system}.agenix
colmena.packages.${system}.colmena colmena.packages.${system}.colmena
]; ];
};
# Shell for testing Forgejo Actions locally
# Usage: nix develop .#ci-test
ci-test = pkgs.mkShell {
buildInputs = with pkgs; [
# Forgejo runner for exec command
forgejo-runner
# Packages matching forgejo-runner.nix hostPackages
bash
coreutils
curl
gawk
git
gnused
jq
nix
nodejs
wget
# Additional packages from systemPackages
colmena.packages.${system}.colmena
];
shellHook = ''
# Wrapper that runs on host by default (matching your runner config)
ci() {
forgejo-runner exec -i "-self-hosted" "$@"
}
echo "🔧 Forgejo Actions test environment"
echo ""
echo "Usage: ci [options]"
echo ""
echo "Examples:"
echo " ci --list -W .forgejo/workflows/ # List jobs"
echo " ci -W .forgejo/workflows/auto-update.yaml -j check-updates # Run job"
echo " ci -W .forgejo/workflows/auto-update.yaml -j check-updates -n # Dry run"
echo " ci -W .forgejo/workflows/auto-update.yaml -j check-updates -d # Debug"
echo ""
'';
};
}; };
}; };