opensafely-core / opensafely-core/opencodelists
Consider small refactoring improvements to the main CI workflow
Open
Nobody has claimed this yet.
deck-scrubbing
- Dominant language
- Python
- Stars
- 60
- Forks
- 16
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 17
Description
Some things I noticed, not all of them may require fixing:
- The current CI builds the Docker image four times in total, for checking and testing the Python and JS. These are all parallel steps, so it's probably not a big deal.
- We compress the Docker image with gzip, when we could use zstd.
- The deploy has the same lack of correct concurrency lock, that job-server's CI did. It's locking on the
deploystep, not the whole workflow, which means two deploys at around the same time could run out of order, if the second run reachesdeploybefore the first run. - We don't build the Docker image for job-server's analogous checks; we run them on the code directly. Whether that's better or not, I'm not completely sure.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the repository's main CI workflow and compare its deploy concurrency with the linked job-server CI commit. Review the four image-build paths, gzip compression, and job-server checks; done means the agreed CI improvements are implemented and workflow behavior is validated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, python
- Domain
- ci-cd, devops, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100