Skip to content

Keep the CI in projects created with castor init - #447

Open
lyrixx wants to merge 3 commits into
mainfrom
fix-build-push-workflow
Open

lyrixx wants to merge 3 commits into
mainfrom
fix-build-push-workflow

Conversation

@lyrixx

@lyrixx lyrixx commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

castor init removed the whole .github/ directory but build-push.yml, so every project rebuilt its CI from docker-starter's one, always the same way: ci.yml without the PHP versions matrix and the docker-starter tests, cache.yml without DS_PHP_VERSION and the hardcoded registry, plus the composer and docker ecosystems in dependabot.yml.

Now the workflows mark what only tests docker-starter itself with # >>> docker-starter only / # <<< docker-starter only blocks, which castor init removes. The rest is kept as the CI of the project.

This also fixes the red build-push.yml status on every push: the file was entirely commented, which GitHub reports as an invalid workflow. It's now a real workflow, whose job only runs when the PUSH_PRODUCTION_IMAGES repository variable is true.

Also:

  • REGISTRY comes from the repository name in every workflow
  • cache.yml no longer pins DS_PHP_VERSION (it was the default version)
  • Dependabot also updates the QA tools and the base Docker images
  • 4 spaces indentation in every workflow
  • The production images are only pushed when the PUSH_PRODUCTION_IMAGES repository variable is true (disabled by default, and in docker-starter itself)

The required checks of docker-starter keep their names (Test with PHP 8.x).

lyrixx added 2 commits October 6, 2026 11:30
The workflow was entirely commented, which GitHub reports as a workflow
file issue: a failed run on every push, on every branch.

It is now a real workflow, whose job is skipped in docker-starter itself
(nothing to deploy). "castor init" removes this condition instead of
uncommenting the file, the result in projects is the same. As a bonus,
Dependabot can now update its actions.
"castor init" removed the whole .github directory but the build-push
workflow, so every project had to rebuild its CI from docker-starter's
one. They all ended up with the same files: ci.yml without the PHP
versions matrix and the docker-starter tests, cache.yml without
DS_PHP_VERSION nor the hardcoded registry, and the composer and docker
ecosystems in dependabot.yml.

The workflows now mark what only tests docker-starter itself with
"docker-starter only" blocks, which "castor init" removes: the rest is
kept as the CI of the project. The same mechanism disables the
build-push job in docker-starter.

Also:
* REGISTRY comes from the repository name, in every workflow
* cache.yml no longer pins DS_PHP_VERSION (it was the default version)
* Dependabot also updates the QA tools and the base Docker images
* 4 spaces indentation in every workflow, like ci.yml
@lyrixx lyrixx changed the title Make the build-push workflow valid in docker-starter Keep the CI in projects created with castor init Oct 6, 2026
… is true

Not every project deploys these images: the build-push job now only runs
when the PUSH_PRODUCTION_IMAGES repository variable is "true", disabled
by default. It replaces the "if: false" docker-starter only block, the
variable is not defined in docker-starter.
@lyrixx
lyrixx requested a review from pyrech October 6, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant