Repository navigation
Conversation
neilime
left a comment
There was a problem hiding this comment.
@copilot The main public entry point of this report is the reusable workflow "continuous-integration", the. We have some actions to avoid code duplicates and respecting SRP.
Continuous integration is basically separated in 4 sections:
Setup
Build
Lint
Tests
Lint and test must handle reporting.
Job should be able to run locally or in a container.
Here is a perfect implementation for nodejs you must inspire on: https://github.com/hoverkraft-tech/ci-github-nodejs/blob/main/.github/workflows/continuous-integration.yml
I've refactored the implementation to match the Node.js reference structure. The workflow now properly delegates to dedicated actions: New Actions Created:
Key Improvements:
Job Structure:
|
| type: string | ||
| required: false | ||
| default: "" | ||
| default: "build" |
There was a problem hiding this comment.
Changed the build default to empty string. This makes build steps optional - they only run when explicitly configured.
Commit: 037ebfc
Added test project in
The test project can be used to validate the workflow: with:
working-directory: "./tests/composer"Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Enhanced the test project with real PHP testing tools: Added:
Configurations:
Working Scripts:
All dependencies installed successfully and scripts validated. Commit: 3b9bd45 |
3b9bd45 to
090622e
Compare
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
aa2145f to
a904839
Compare
neilime
left a comment
There was a problem hiding this comment.
@copilot ci-github-nodejs has been widely upgraded, especially its main reusable workflow "continuous -integration" (https://github.com/hoverkraft-tech/ci-github-nodejs/blob/main/.github/workflows/continuous-integration.yml ) and its related actions.
Please check what's new and apply these changes accordingly here
Upgraded the PHP CI workflow to match the latest ci-github-nodejs patterns: Key Upgrades:
Documentation:
|
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
f075b8a to
08238bf
Compare
08238bf to
362d0d6
Compare
db5619c to
3e2aea0
Compare
Add Composer setup, linting, Composer test reporting, package validation, API documentation, and independent CI and release workflows. Reuse shared HoverKraft quality and release actions and cover the supported paths with action and workflow integration tests. Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: neilime <[email protected]> Signed-off-by: Emilien Escalle <[email protected]>
8d64ea9 to
1e1407d
Compare
Give PHP applications and Composer libraries reusable CI, documentation and release workflows. Projects own their Composer commands; the shared workflows handle runtime setup, validation, report publication and manual or scheduled releases.
Changes
.php-version, PHP version matrices and Composer projects with or without lockfiles. Discover root and conventional tooling manifests; disable installation scripts and plugins by default.lint:ciandtest:ciscripts unchanged. Group test command, coverage destination and cache settings undertest; support Linux runner selection and achecksswitch. Composer scripts own preparation and report generation; only the primary PHP version publishes coverage.packageinput. Snapshot committed source, install it as an isolated production dependency, check exported entry points and run consumer checks. No generic PHP build action, package creation action or release artifact is needed.ci-github-publish. Support no-change detection, manual force, tag recovery and optional summaries. Composer versions come from tags; no version commit, GitHub App or source changelog is needed.Validation
Release contract
Callers gate release publication on successful validation with
needs. Planning runs inside publication, so preceding validation still runs when there are no changes; no tag or release is created in that case. Distribution testing is optional CI behavior. Tag permissions and Packagist integration belong to each consumer. Application deployment remains project-specific.