Switch project CI bootstrap from Travis to GitHub Actions#58
Conversation
`composer create-project altis/skeleton …` (and every subsequent `composer install`) now installs `.github/workflows/ci.yml` from altis/dev-tools' `templates/project-ci.yml`, with the reusable workflow ref pinned to the installed dev-tools version. Once the user customises the workflow the auto re-pinning stops, leaving them in full control. Existing `.travis.yml` and `.config/travis.yml` files are left untouched. Travis CI remains a supported option for projects that prefer it; from this version onwards the plugin simply does not manage Travis config any more. The "doesn't match what's required" warning that referred to the auto-managed `.travis.yml` is removed alongside that behaviour. Bails silently if the consumer is on an older altis/dev-tools that predates `templates/project-ci.yml`, so this change can ship before those projects update their dev-tools constraint. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
humanmade/altis-dev-tools#1054 is merged Is dev-tools tag with templates/project-ci.yml published? How exactly to test this change? |
Prior to this change, when you create a new Altis project, it creates a For an existing project with an existing How could I have phrased the PR description better to explain that in away you could follow? |
Summary
composer create-project altis/skeleton …and every subsequentcomposer installnow installs.github/workflows/ci.yml(a thin caller for the reusablealtis-ci.ymlworkflow inhumanmade/altis-dev-tools) instead of.travis.yml. The reusable-workflow ref is re-pinned to the installedaltis/dev-toolsversion on each run, until the user customises the file — same auto-pinning UX the previous Travis flow had.Existing
.travis.yml/.config/travis.ymlfiles are left untouched. Travis CI remains a supported option for projects that prefer it; from this version on the plugin simply doesn't manage Travis config. The "The file .travis.yml does not match that required by Altis" warning is removed along with the behaviour it referred to.Companion change
Requires
humanmade/altis-dev-tools#1054to merge first — that PR addstemplates/project-ci.yml, which this plugin now reads. The plugin bails silently if the template isn't present (olderaltis/dev-tools), so the order is robust but only a dev-tools that ships the template will trigger the new behaviour.Test plan
php -l inc/command/class-plugin.phpvendor/altis/dev-tools/templates/project-ci.yml:composer dump-autoloadcreates.github/workflows/ci.ymlfrom the template@__ref_replace_me__is replaced with the installed dev-tools version (e.g.@master).travis.ymland.config/travis.ymlare not modifiedcomposer create-project altis/skeleton …once the dev-tools tag withtemplates/project-ci.ymlis published.Release
A new minor version (e.g.
0.9.0) once approved/merged, per @mikelittle's plan to update the v27 release notes hint accordingly.🤖 Generated with Claude Code