Add Windows runner profiles and configuration for Gitea CI

- Introduced Dockerfiles for various Windows runner profiles: C/C++, .NET, Go, and MSYS.
- Added a PowerShell script to start the Gitea runner with appropriate configurations.
- Updated Ansible host variables to include new Windows build root and runner configurations.
- Enhanced the Windows Gitea runner role to support multiple execution modes (linux_podman and windows_mcr).
- Implemented tasks to validate runner execution modes, ensure necessary services are running, and manage Docker containers for Windows runners.
- Created a new task file for managing Windows-specific runner operations.
- Updated the configuration template to dynamically set paths for runner files and cache directories.
This commit is contained in:
2026-07-03 00:18:20 +02:00
parent e59a832d5d
commit c4d1db3a91
12 changed files with 920 additions and 6 deletions
@@ -3,6 +3,7 @@ windows_gitea_runner_instance_url: ""
windows_gitea_runner_registration_token: ""
windows_gitea_runner_runners: []
windows_gitea_runner_default_mode: "linux_podman"
windows_gitea_runner_base_image: "local/gitea-runner-base:latest"
windows_gitea_runner_base_dockerfile_src: "Dockerfile.gitea-runner-base"
windows_gitea_runner_base_image_hash_label: "io.a13labs.gitea_runner.base_dockerfile_hash"
@@ -10,9 +11,22 @@ windows_gitea_runner_image_prefix: "local/gitea-runner"
windows_gitea_runner_dockerfile_source_root: "{{ playbook_dir }}/files/dockerfiles"
windows_gitea_runner_build_root: "C:\\ProgramData\\GiteaRunner\\builds"
windows_gitea_runner_base_build_dir: "{{ windows_gitea_runner_build_root }}\\base"
windows_gitea_runner_windows_image_prefix: "local/gitea-windows-runner"
windows_gitea_runner_windows_dockerfile_source_root: "{{ playbook_dir }}/files/dockerfiles/windows-runners"
windows_gitea_runner_windows_build_root: "C:\\ProgramData\\GiteaRunner\\windows-builds"
windows_gitea_runner_windows_runtime_bin: "docker"
windows_gitea_runner_windows_runtime_user: "{{ windows_gitea_runner_podman_service_user }}"
windows_gitea_runner_windows_become_user: "{{ windows_gitea_runner_podman_service_user }}"
windows_gitea_runner_windows_base_image: "{{ windows_gitea_runner_windows_image_prefix }}:windows-base"
windows_gitea_runner_windows_base_dockerfile_src: "Dockerfile.windows-base"
windows_gitea_runner_windows_base_entrypoint_script_src: "start-runner.ps1"
windows_gitea_runner_windows_base_build_dir: "{{ windows_gitea_runner_windows_build_root }}\\windows-base"
windows_gitea_runner_windows_base_image_hash_label: "io.a13labs.gitea_runner.windows_base_dockerfile_hash"
windows_gitea_runner_config_root: "C:\\ProgramData\\GiteaRunner\\config"
windows_gitea_runner_data_root: "C:\\ProgramData\\GiteaRunner\\data"
windows_gitea_runner_log_root: "C:\\Logs\\GiteaRunner"
windows_gitea_runner_config_runner_file: "/data/.runner"
windows_gitea_runner_config_cache_dir: "/data/cache"
windows_gitea_runner_container_run_args: []
windows_gitea_runner_container_enable_nested_build: false
windows_gitea_runner_container_storage_root: "{{ windows_gitea_runner_data_root }}\\containers"