Repository navigation
Add the shared OSV and secret scans beside the local audit - #34
Merged
Merged
Conversation
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
Adds a
sharedjob callinglaranail/.github's reusablesecurity.yml, bringing this repository an OSV.dev scan and a ggshield secret scan it has never had.Measured 2026-11-13 across laranail: of 88 packages calling a reusable
laranail/.githubworkflow,security.ymlhad 1 caller againsttests.yml's 39, while 23 packages shipped a standalonesecurity.ymlrunningcomposer auditand nothing else. The estate was unshared rather than unscanned; what this adds is the two scans.The local
auditjob is deliberately untouchedIt is not a duplicate, and neither job is a superset of the other:
composer update --prefer-stableand audits everything, including dev dependencies;composer installthencomposer audit --locked --no-dev, which skips the dev tree — whereroave/security-advisoriesand the test toolchain live.The local job also caches composer and pins its own PHP, which the shared workflow does not. Replacing it would have been a removal dressed as a migration. These repositories are public, so the second
composer auditrun costs nothing.The secret scan before the credential exists
The shared workflow declares
OP_SERVICE_ACCOUNT_TOKENoptional and, when absent, emits a warning and skips the ggshield step rather than failing.secrets: inheritis therefore correct both now and once the credential is set. Failing closed is right for a finding and wrong for a missing setting.Rolled out after a five-repo pilot
package-tools,console,db-tools,package-managementandchronowent first. The pilot earned its keep: it found that the shared workflow'sosv-scanjob hardcodedphp-version: '8.4'whilecomposer-audithonoured the input, so every caller with a PHP floor above 8.4 failed with composer's "Your requirements could not be resolved" — an error naming neither PHP nor a version, inside a job called "OSV.dev scan". Fixed in laranail/.github#29 before this rollout, which is whyphp-versionhere is this repository's own value rather than a default.