In our pr.yml and deploy.yml workflows, we use docker-compose to run the unit test suite.
Note: we do not deploy/push images to production using docker-compose -- we use plain old docker. But passing tests are a precondition.
We have a step in the relevant jobs that downloads a specific, static released V1 version of docker-compose (1.25.0).
However, I think that in practice, the GitHub runners for those workflows have also had a copy of docker-compose installed, and that built-in version has taken precedence (likely due to PATH precedence rules).
On 2024-07-29, GitHub removed docker-compose from their ubuntu-latest runner images (the image that we use for the relevant workflows).
I believe this is what has caused recent unit test results to fail, and I believe this will currently block the deploy pipeline.
The latest V1 release of docker-compose was v1.29.2 in May 2021.
Proposed solution(s)
Ubuntu 24.04 contains a docker-compose package that is (at the time of writing) based on upstream v1.29.2 - we could migrate to use this in the short-term.
To future-proof ourselves, at some point it likely makes sense to update the test and deploy workflows to test the application using a V2 release of docker-compose.
Edit: correction for docker-compose latest-v1-release date.
Problem
pr.yml
anddeploy.yml
workflows, we usedocker-compose
to run the unit test suite.docker-compose
-- we use plain olddocker
. But passing tests are a precondition.docker-compose
(1.25.0
).docker-compose
installed, and that built-in version has taken precedence (likely due toPATH
precedence rules).docker-compose
from theirubuntu-latest
runner images (the image that we use for the relevant workflows).docker-compose
was v1.29.2 in May 2021.Proposed solution(s)
docker-compose
package that is (at the time of writing) based on upstream v1.29.2 - we could migrate to use this in the short-term.docker-compose
.Edit: correction for
docker-compose
latest-v1-release date.