Merged
Conversation
Link-
reviewed
Jun 21, 2024
Link-
reviewed
Jun 21, 2024
Link-
reviewed
Jun 21, 2024
195ef3a to
3a10e3e
Compare
512655f to
4236ff0
Compare
4236ff0 to
8b09e6c
Compare
8b09e6c to
2c4bc6d
Compare
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
1fba21f to
c2f699e
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a new end-to-end testing framework for GitHub Actions Runner Controller (ARC) using bash scripts and minikube. It adds multiple test scenarios covering different deployment configurations and a test runner script to execute them.
Key Changes:
- Added 9 new test scripts covering various ARC deployment scenarios (default, single-namespace, dind-mode, kubernetes-mode, proxy configurations, self-signed CA, update strategy, and min runners)
- Created a shared helper library (
helper.sh) with common functions for cluster management, ARC installation, and workflow execution - Added test runner script (
hack/e2e-test.sh) to orchestrate test execution - Integrated new tests into GitHub Actions workflow with v2 variants of existing test jobs
- Added
gha-e2etarget to Makefile and removed unused Docker build arguments
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| test/actions.github.com/update-strategy.test.sh | Tests eventual update strategy with listener recreation |
| test/actions.github.com/single-namespace-setup.test.sh | Tests ARC when controller and runners are in the same namespace |
| test/actions.github.com/self-signed-ca-setup.test.sh | Tests ARC with self-signed CA certificates using mitmproxy |
| test/actions.github.com/kubernetes-mode-setup.test.sh | Tests ARC in Kubernetes container mode with OpenEBS storage |
| test/actions.github.com/init-with-min-runners.test.sh | Tests ARC with minimum runner count configuration |
| test/actions.github.com/dind-mode-setup.test.sh | Tests ARC in Docker-in-Docker container mode |
| test/actions.github.com/default-setup.test.sh | Tests basic ARC installation and workflow execution |
| test/actions.github.com/auth-proxy-setup.test.sh | Tests ARC with authenticated proxy configuration |
| test/actions.github.com/anonymous-proxy-setup.test.sh | Tests ARC with anonymous proxy configuration |
| test/actions.github.com/helper.sh | Shared library with utilities for cluster management, ARC operations, and workflow execution |
| test/actions.github.com/envrc.example | Example environment configuration file for test execution |
| hack/e2e-test.sh | Test runner script that orchestrates individual test execution |
| .github/workflows/gha-e2e-tests.yaml | Adds v2 variants of existing test jobs that use the new bash-based test framework |
| Makefile | Adds gha-e2e target and removes unused RUNNER_VERSION and DOCKER_VERSION build args |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
96b49b6 to
0a288b0
Compare
densto88
approved these changes
Nov 19, 2025
Merged
unpollito
pushed a commit
to DistruApp/actions-runner-controller
that referenced
this pull request
Jan 21, 2026
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a major update to the end-to-end (E2E) testing infrastructure for GitHub Actions runners. The main changes add version 2 ("-v2") variants of all existing E2E test jobs in the
.github/workflows/gha-e2e-tests.yamlworkflow, refactor test execution into a new script (hack/e2e-test.sh), and provide dedicated shell scripts for each test scenario. These updates improve maintainability, modularity, and flexibility of the E2E test suite, making it easier to run individual tests and add new scenarios.E2E Test Workflow Enhancements
default-setup-v2,single-namespace-setup-v2,dind-mode-setup-v2,kubernetes-mode-setup-v2,auth-proxy-setup-v2,anonymous-proxy-setup-v2,self-signed-ca-setup-v2,update-strategy-tests-v2, andinit-with-min-runners-v2). These jobs leverage the new test scripts and only run for PRs from the same repository. [1] [2] [3] [4] [5] [6] [7] [8] [9]Test Execution Refactoring
hack/e2e-test.sh, a new script that manages environment validation, test selection, and execution for all E2E scenarios, allowing easy running of individual or all tests.gha-e2etarget to theMakefileto invoke the new test runner script.Scenario-Specific Test Scripts
test/actions.github.com/, includingdefault-setup.test.sh,auth-proxy-setup.test.sh, andanonymous-proxy-setup.test.sh, each encapsulating the setup, execution, and teardown logic for its respective environment. [1] [2] [3]Other Minor Improvements
RUNNER_VERSION,DOCKER_VERSION) from thedocker-buildxtarget in theMakefilefor cleaner builds.These changes collectively modernize and modularize the E2E testing pipeline, making it easier to maintain and extend.