fix(ci): run artillery from node_modules instead of the broken action - #39
Conversation
#38 fixed the first of two things wrong with this job - apt failing on an unreachable Microsoft mirror - and that is now on main. With that out of the way the job gets one step further and hits the second: the container behind artilleryio/action-cli@v1 no longer has a working entrypoint, so the step dies with `/home/node/artillery/bin/run: not found` before the scenario starts. artillery ^2.0.24 is already a devDependency and npm ci has run by this point, so npx artillery run does the same work without the container. The job has been red since May; neither failure is a test failure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QLGHEpzx7D9NYHx4fCmHa9
|
Warning Review limit reachedNext included review available in 39 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Update after watching this run: the job is now green, but it is a vacuous green. Worth being explicit, because "artillery = SUCCESS" on this PR is misleading on its own. The step output: So artillery starts, discards its only phase, measures nothing, and exits 0. Root cause. const numUsers = parseInt(process.env.NUM_INSTANCES!, 10);
...
phases: [{ duration: 1, arrivalRate: numUsers }],
There is a second problem waiting behind it: the config sets What this PR does and does not do. It fixes what it claims: the step no longer dies at I have deliberately not fixed that here, because doing so turns this into a real load test firing at the live TUM deployment on every single pull request, which is a decision rather than a bug fix. The prior question is whether this belongs on Happy to do either — say which. |
What and why
Follow-up to #38. The Artillery job has two independent breakages; #38 fixed one, this fixes the other.
main):npx playwright install --with-depsrunsapt-get update, andpackages.microsoft.comnow returns 403 for theazure-cliandprodrepos, aborting apt with exit 100 before any browser downloads./entrypoint.sh: 20: /home/node/artillery/bin/run: not found. The container image behindartilleryio/action-cli@v1no longer has a working entrypoint.artillery ^2.0.24is already a devDependency andnpm cihas run by that point in the job, sonpx artillery rundoes exactly the same work without the container in the way.Neither failure is a test failure. The job has been red since its last green run on 2026-05-22.
How it was verified
actionlintclean on the modified workflow.33086633045(apt, exit 100) and33087181179(missing entrypoint), so this is not guesswork about what is wrong.https://theia.artemis.cit.tum.deand needsKEYCLOAK_USER/KEYCLOAK_PWD, so it cannot run locally. This PR gets the job to the point where the scenario actually executes; whether the scenario then passes is the first real signal anyone has had from it since May.Deployment impact
Risk and rollback
CI-only, single step, revert to roll back.
Worth a separate conversation: this is a load test against production wired to
pull_request. Every PR in this repo drives traffic at the live TUM deployment, and it needs secrets that a fork PR would not have. Restoring it to working order is the right fix for a broken job, but whether it belongs onpull_requestat all - rather than on a schedule orworkflow_dispatch- is a design question I have not touched here.