Add reusable GitHub Actions workflows for module CI#1054
Merged
Conversation
Replaces travis/module.yml and travis/altis.yml with reusable GHA workflows. Module repos call these from their own ci.yml. * module-ci.yml — per-module CI (skeleton install, codecept/phpunit, lintdocs) * altis-ci.yml — for the skeleton/empty package * README.md documents inputs, required secrets, and the SHA-pinning convention Also adds the self-test caller at .github/workflows/ci.yml using @master. After merge, pin callers to a SHA via scripts/update-module-gha-ref.sh in humanmade/product-dev. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Reframe docs/continuous-integration.md so GitHub Actions is presented as the recommended CI for Altis, with a "Using Travis CI" section that keeps Travis as a fully supported option for projects users run on their own. * Replace the auto-installed Travis template description with the altis-ci.yml reusable workflow caller template. * Rewrite "Conditional Builds" with GHA on/branch filters; keep a Travis example for users still on Travis. * Replace "Migrating From An Existing Travis Config" / "Overriding The Base Config" with guidance for extending the GHA reusable workflow. * docs/testing-with-codeception.md — drop "on Travis" from the CI link. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The altis/dev-tools-command composer plugin copies this template to .github/workflows/ci.yml on `composer create-project altis/skeleton` (and on subsequent `composer install` runs while the file remains unchanged from the template), with the `@<ref>` pinned to the installed dev-tools version. This replaces the previous flow that auto-installed a .travis.yml on new projects. The plugin update lives in humanmade/altis-dev-tools-command and gracefully bails on dev-tools versions that ship without this template, so order of merge is not load-bearing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
wisyhambolu
reviewed
May 6, 2026
The caller workflow's existence is the "run CI for this module" signal; gating on tests/*.suite.yml was codecept-specific and would silently skip PHPUnit-only modules despite the test-command: phpunit input. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the Travis import templates (
travis/module.yml,travis/altis.yml) with reusable GitHub Actions workflows that module repos call from their own.github/workflows/ci.yml.module-ci.yml— skeleton install, package-under-test injection, codecept/phpunit, lintdocs. Mirrorstravis/module.ymlstep-for-step.altis-ci.yml— simpler workflow for the skeleton/altis-emptypackage..github/workflows/README.md— documents inputs, required secrets, and the SHA-pinning convention.The thin caller
.github/workflows/ci.ymllets this repo self-test the workflow.Companion PRs
This must merge first so the per-module PRs can resolve
humanmade/altis-dev-tools/.github/workflows/module-ci.yml@master. Once landed, runscripts/update-module-gha-ref.sh <sha>fromhumanmade/product-devto pin all callers to a SHA.The Travis files (
travis/module.yml,travis/altis.yml,.travis.yml) stay in place for the side-by-side migration period and will be removed in a follow-up.Test plan
ci.ymlself-test runs green againstmodule-ci.yml@masterpost-mergeDOCKER_USERNAME/DOCKER_PASSWORDrepo secrets are set🤖 Generated with Claude Code