Open anscfrisson opened 3 days ago
@anscfrisson
Would it be possible to support dependabot updates of cypress-docker-images, by, as in dependabot-fixtures/docker-with-source, 1) adding org.opencontainers.image.source labels to Dockerfiles and 2) tagging the repository with the same tags as the published Docker images?
For Cypress Docker images to support GitHub Dependabot version updates would require a re-design of the whole Cypress Docker image creation and publication process as far as I can see.
1) adding org.opencontainers.image.source labels to Dockerfiles
Cypress Docker images do not have a 1:1 relationship to a specific Dockerfile.
2) tagging the repository with the same tags as the published Docker images?
Reading the Dependabot documentation it seems that tags would need to be semver
compliant and I assume it would mean creating separate GitHub repos to correspond to each of the Docker Hub repos factory
, base
, browsers
and included
, which are currently fed from this one GitHub repo.
Thanks @MikeMcC399 for the update!
I understand that supporting dependabot for cypress-docker-images might then not be planned soon as it requires a re-design?
Would there be other opportunities from the list of dependabot package-ecosystem to auto-update browsers supported by cypress?
For instance:
Then to fetch browsers there are options:
edge-version
parameter@anscfrisson
I understand that supporting dependabot for cypress-docker-images might then not be planned soon as it requires a re-design?
You can assume that there are no major enhancements planned unless the Cypress.io team announces them.
Would there be other opportunities from the list of dependabot package-ecosystem to auto-update browsers supported by cypress?
I don't see any simple way to use Dependabot. If you are not tied to Dependabot, you may want to look at https://docs.renovatebot.com/docker/ which is able to update cypress/factory
, cypress/base
and cypress/included
(short-form tag only) as these tags use semver
formats.
It would be possible to extend this scheme also to cypress/browsers
. This would be similar to the way that CircleCI handles tagging. I will submit a separate enhancement request to describe this so that it could be used with Renovate.
Thanks @MikeMcC399 for the tip, I'll look into renovatebot, and for the opportunity to extends its support to cypress/browsers
.
@anscfrisson
It seems I was too optimistic in thinking that the Renovate Docker implementation would help in GitHub Actions. Reading the docs, GitHub Actions aren't listed. CircleCI is listed however, so it would have some benefit.
I have configured dependabot updates of cypress-docker-images in a private repository:
.github/dependabot.yml
:docker/chrome/Dockerfile
docker/firefox/Dockerfile
(browsers with separate docker files each with separate cypress/browsers tags as our cypress tests may break independently with web browser version updates even if these versions are supported by cypress, but that's not the issue here)
Dependabot runs include:
docker/chrome/Dockerfile
docker/firefox/Dockerfile
Dependabot should have proposed to update
node-22.11.0-chrome-130.0.6723.69-1-ff-132.0-edge- 30.0.2849.56-1
tonode-22.11.0-chrome-130.0.6723.116-1-ff-132.0.1-edge-130.0.2849.68-1
fordocker/firefox/Dockerfile
.From https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#docker
Would it be possible to support dependabot updates of cypress-docker-images, by, as in dependabot-fixtures/docker-with-source, 1) adding
org.opencontainers.image.source
labels to Dockerfiles and 2) tagging the repository with the same tags as the published Docker images?