Nikola Jokic and Copilot App
03a2cdbdec
Let the listener own the EphemeralRunner Running phase transition
...
The controller derived Status.Phase directly from the pod phase, so a runner
became Running as soon as its pod started, whether or not it had picked up a
job. That made Running mean "the pod is up" instead of "the runner is busy",
and it left the EphemeralRunnerSet scale-down path unable to tell an idle
runner from one that is executing a job.
The listener already knows when a job is assigned to a specific runner, so
move the transition there. HandleJobStarted now reads the runner first and
only promotes it to Running when it is not terminal (Failed, Succeeded or
Outdated) and not being deleted, then patches the phase alongside the job
fields it already writes. The listener role gains "get" on ephemeralrunners
for that read.
On the controller side updateRunStatusFromPod keeps publishing the initial
Pending phase while the pod is starting, and no longer promotes to Running.
Runners waiting for work now stay Pending, so scale-down picks them before
runners that are actually executing a job.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-12 23:37:31 +02:00
Nikola Jokic
54147cfa5e
Introduce cache for lookups of desired resource state, to reduce the amount of allocations in the controller ( #4568 )
2026-09-07 13:49:28 +02:00
Nikola Jokic
767e58e4b1
Upgrade resources in-place, causing 1-1 mapping between autoscaling runner set and ephemeral runner set ( #4516 )
2026-06-09 13:52:37 +02:00
Junya Okabe
0f2a659878
Fix: Detect init container failure in EphemeralRunner controller ( #4457 )
2026-05-07 13:26:46 +02:00
Nikola Jokic and Copilot Autofix powered by AI
9bc1c9e53e
Shutdown the scaleset when runner is deprecated ( #4404 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-19 13:30:20 +01:00
Nikola Jokic
dc7c858e68
Remove actions client ( #4405 )
2026-03-16 14:39:55 +01:00
Nikola Jokic
f99c6eda0b
Moving to scaleset client for the controller ( #4390 )
2026-03-13 14:36:41 +01:00
Nikola Jokic
bfe78ccd5d
Make restart pod more flexible to different failure scenarios ( #4340 )
2025-12-19 15:49:42 +01:00
Nikola Jokic
50038fba61
Re-schedule if the failed reason starts with OutOf ( #4336 )
2025-12-16 13:26:44 +01:00
Nikola Jokic
088e2a3a90
Remove ephemeral runner when exit code != 0 and is patched with the job ( #4239 )
2025-09-17 21:40:37 +02:00
Nikola Jokic
3b5693eecb
Remove check if runner exists after exit code 0 ( #4142 )
2025-06-27 11:11:39 +02:00
Nikola Jokic
e46c929241
Azure Key Vault integration to resolve secrets ( #4090 )
2025-06-11 15:53:33 +02:00
Nikola Jokic
cae7efa2c6
Create backoff mechanism for failed runners and allow re-creation of failed ephemeral runners ( #4059 )
2025-05-14 15:38:50 +02:00
Nikola Jokic
d8f1a61ab6
Clean up as much as possible in a single pass for the EphemeralRunner reconciler ( #3941 )
2025-03-10 11:03:45 +01:00
Nikola Jokic
e122615553
Use Ready from the pod conditions when setting it to the EphemeralRunner ( #3891 )
2025-03-05 10:21:06 +01:00
Nikola Jokic
b349ded2be
Increase test timeouts to avoid CI test failures ( #3554 )
2024-06-21 13:45:48 +02:00
Katarzyna
d0fb7206a4
Fix problem with ephemeralRunner Succeeded state before build executed ( #3528 )
2024-06-03 10:49:45 +02:00
Nikola Jokic and Francesco Renzi
8075e5ee74
Refactor actions client error to include request id ( #3430 )
...
Co-authored-by: Francesco Renzi <rentziass@gmail.com >
2024-04-16 12:57:44 +02:00
Toru Komatsu
b08d533105
Record the error when the creation pod fails ( #3112 )
...
Signed-off-by: utam0k <k0ma@utam0k.jp >
2023-12-07 21:11:52 +01:00
Nikola Jokic
07bff8aa1e
Extend the user agent and fix the build version for the listener app ( #2892 )
2023-09-14 20:10:49 +02:00
Tingluo Huang
d7b589bed5
Helm chart react changes for the new runner image. ( #2348 )
2023-03-10 11:18:21 +00:00
c569304271
Add support for self-signed CA certificates ( #2268 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com >
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
2023-03-09 17:23:32 +00:00
Francesco Renzi
40c905f25d
Simplify the setup of controller tests ( #2352 )
2023-03-02 18:55:49 +00:00
6b4250ca90
Add support for proxy ( #2286 )
...
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
Co-authored-by: Ferenc Hammerl <fhammerl@github.com >
2023-02-21 17:33:48 +00:00
Nikola Jokic and Tingluo Huang
8e52a6d2cf
EphemeralRunner: On cleanup, if pod is pending, delete from service ( #2255 )
...
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
2023-02-11 19:55:12 -05:00
dependabot[bot] and Yusuke Kuoka
219ba5b477
chore(deps): bump sigs.k8s.io/controller-runtime from 0.13.1 to 0.14.1 ( #2132 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com >
2023-01-27 09:23:28 +09:00
Nikola Jokic
882bfab569
Renaming autoScaling to autoscaling in tests matching the convention ( #2201 )
2023-01-23 17:03:01 +01:00
Tingluo Huang
4932412cd6
Fix L0 test to make it more reliable. ( #2178 )
2023-01-19 07:33:04 -05:00
622eaa34f8
Introduce new preview auto-scaling mode for ARC. ( #2153 )
...
Co-authored-by: Cory Miller <cory-miller@github.com >
Co-authored-by: Nikola Jokic <nikola-jokic@github.com >
Co-authored-by: Ava Stancu <AvaStancu@github.com >
Co-authored-by: Ferenc Hammerl <fhammerl@github.com >
Co-authored-by: Francesco Renzi <rentziass@github.com >
Co-authored-by: Bassem Dghaidi <Link-@github.com >
2023-01-17 12:06:20 -05:00