You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Migrate the environment workflow steps to dedicated reusable job workflows #2418
As a developer I want to avoid duplication in the environment workflows, to reduce the pipeline code to maintain and run jobs in parallel.
Description
In #2417 we introduce environment workflows which execute similar steps which can be combined into a separate workflow file to be reused.
In this issue we want to separate all steps in each environment workflow file into (GitHub actions) jobs rather than steps, to reduce pipeline code and the time it takes for the different environment workflows to finish.
To help organize the many jobs we create, we can put them in categories (or stages). The pipeline will consist of the following stages (these are not necessarily in order):
Format
Lint
Test
Build
Release
Deploy
Acceptance Criteria
Note: please keep in mind that this isn't the full list of all jobs, but a starting point.
1. We want to at minimum have the following reusable job workflow files:
3. All tests must pass before publishing artifacts for production in the release.yml workflow.
4. We could consider publishing the artifacts for staging and review before tests pass in the review.yml and staging.yml workflow.
Implementation Notes
When defining the above mentioned workflows we can do so with reuse-able workflows. See them as functions that we "call" as job in our environment workflow files.
For gradle test and gradle installDist they share certain tasks, such as compileJava. We should consider introducing a job for this so we can reduce our cache use and the time it takes to compile in those tasks.
Consider pushing a container image with Playwright deps to GHCR, as it's free and allows us to persist the image for long times and prevents unnecessary artifacts being generated. The other option would be to have a runner image with everything installed by default.
Apply integration test sharding
Evenly spread UI app tests of tests files to reduce shard times
Activity
Ekhorn commentedon Mar 25, 2026
Follow up issues to create
gradle testandgradle installDistthey share certain tasks, such ascompileJava. We should consider introducing a job for this so we can reduce our cache use and the time it takes to compile in those tasks.