ci: plugin-agnostic PR checks and package-then-release pipeline
- plugin-checks workflow: shopware-cli validate, package + built-JS assertion, phpunit - release: validate, package from the merge commit, validate the zip, create the release via the Gitea API, publish the same zip to the Composer registry - scripts/protect-main.sh sets required status checks via tea api - bump to 0.1.0 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8efaef2042
commit
a551034442
7 files changed
+212
-66
No files matched your search
@@ -31,13 +31,14 @@ on branches `research/shopware-guideline-checklist`, `research/shopware-cli-ci-b
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
### PR workflow (`.gitea/workflows/pr.yml`, replaces `pr-version-check.yml`)
|
||||
### PR workflows
|
||||
|
||||
Jobs (all required checks on `main`):
|
||||
1. `version-changelog` - unchanged logic (version bump + changelog heading). Keep this job/workflow name so the existing required context `version-changelog / version-changelog (pull_request)` keeps working, or update protection when renamed.
|
||||
2. `validate` - install `shopware-cli`, `extension validate .` (hard gate, no `|| true`).
|
||||
3. `package` - `extension package` with `--git-commit "$GITHUB_SHA"`, then assert the zip contains built admin JS (`Resources/public/administration/js`) when an admin entry exists.
|
||||
4. `phpunit` - `composer create-project shopware/production` (6.6.x) + MariaDB service, symlink plugin, install/activate, run phpunit. PHP 8.3.
|
||||
`pr-version-check.yml` (job `version-changelog`) is unchanged apart from `permissions:`; its name keeps the existing required context. New `plugin-checks.yml`:
|
||||
|
||||
1. `validate` - install `shopware-cli`, `extension validate .` (hard gate, no `|| true`).
|
||||
2. `package` - `extension package` with `--git-commit "$GITHUB_SHA"`, then assert the zip contains built admin JS (`Resources/public/administration/js`) when an admin entry exists.
|
||||
3. `phpunit` - `composer create-project shopware/production` (6.6.x) + MariaDB service, copy the plugin into `custom/plugins`, install/activate, run phpunit. PHP 8.3.
|
||||
|
||||
### Release workflow (`.gitea/workflows/release.yml`)
|
||||
|
||||
|
||||
Reference in new issue
Block a user