ci: route composer-audit through magento-ci-workflows reusable#4
ci: route composer-audit through magento-ci-workflows reusable#4Sebastian80 wants to merge 4 commits into
Conversation
The typo3-ci-workflows security.yml composer-audit job fails on Magento module repos because it runs 'composer install' without Marketplace auth, breaking on magento/framework, magento/module-backend etc. that live on repo.magento.com. This patch: - Sets skip-composer-audit: true on the typo3-ci-workflows reusable call, keeping gitleaks/preflight/opengrep SAST coverage active. - Adds a magento-composer-audit job calling netresearch/magento-ci-workflows/.github/workflows/composer-audit.yml@v0.1.0 which receives Marketplace credentials as workflow secrets (MAGENTO_REPO_USERNAME / MAGENTO_REPO_PASSWORD) synced from HashiCorp Vault path ci/<gitlab-project-path> per repo (CI-390 source of truth). Restores composer audit coverage on master pushes without duplicating Marketplace credentials into long-lived GH org secrets. Signed-off-by: Sebastian <sebastian.ertner@netresearch.de>
Dependency ReviewThe following issues were found:
License Issues.github/workflows/security.yml
OpenSSF Scorecard
Scanned Files
|
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
v0.1.1 registers repo.magento.com as a composer repository before running composer install, fixing 'magento/framework could not be found' errors observed in v0.1.0 runs. Signed-off-by: Sebastian <sebastian.ertner@netresearch.de>
v0.1.2 adds --no-plugins to composer install + audit, bypassing the allow-plugins block on magento/composer-dependency-version-audit-plugin and other Marketplace composer plugins. Signed-off-by: Sebastian <sebastian.ertner@netresearch.de>
v0.1.3 uses --abandoned=report so abandoned packages (laminas/laminas-loader etc.) are visible but don't fail the audit. Real CVE advisories still fail. Signed-off-by: Sebastian <sebastian.ertner@netresearch.de>
|
Nach Rücksprache mit Sebastian Mendel: der GitHub-Actions-Security-Workflow wird aus den GitHub-Magento-Modul-Repos zurückgedreht. Die GitHub-Repos sind stripped Mirrors der GitLab-Originale (force-Mirror bei Tag-Release). Security-Coverage gehört auf die GitLab-Source-Seite (Tracking via CI-398), nicht auf den Mirror. Die zugehörige Reusable Workflow Library |
Problem
composer-audit / Composer Auditfrom thenetresearch/typo3-ci-workflowsreusable security.yml fails on every master push because it runscomposer installwithout authentication torepo.magento.com, breaking onmagento/framework,magento/module-backendandmagento/module-config. Those packages live on the Magento Marketplace repo which requiresMAGENTO_REPO_USERNAME/MAGENTO_REPO_PASSWORD. The TYPO3-oriented reusable workflow has no way to pass Marketplace credentials through.Solution
This repo now calls a Magento-aware reusable workflow that accepts Marketplace credentials as workflow secrets.
composer-audit(typo3 reusable): keep forgitleaks/preflight/opengrepSAST. Setskip-composer-audit: trueso its broken composer-audit step is skipped.magento-composer-audit(new): callsnetresearch/magento-ci-workflows/.github/workflows/composer-audit.yml@v0.1.0withMAGENTO_REPO_USERNAME/MAGENTO_REPO_PASSWORDpassed in as workflow secrets. Runscomposer install --no-devagainstrepo.magento.comwith proper auth, thencomposer audit.Secret provisioning
MAGENTO_REPO_USERNAMEandMAGENTO_REPO_PASSWORDare mirrored from HashiCorp Vault (ci/<gitlab-project-path>per CI-390 — single source of truth) into this repo's Actions secrets. To rotate: update the Vault entry, then re-run the sync script (/tmp/sync_vault_to_gh.shin the session that produced this PR; will be moved to a permanent location).Coverage
Test plan
magento-composer-auditjob runscomposer installand reachescomposer auditstep (validates Marketplace auth + composer resolve)