Conversation
|
All contributors have signed the CLA ✍️ ✅ |
Author
|
I have read the CLA Document and I hereby sign the CLA |
Naohiro2g
marked this pull request as ready for review
July 20, 2026 14:02
Author
|
I’ve expanded the PR description to clarify the intended boundary. This does not skip CLA checks for contributions sent from a fork to Scratch Foundation. GitHub evaluates the condition against the PR’s base repository, so an upstream contribution still runs the Scratch Foundation workflow with its configured secret. The skipped case is only a PR targeting the fork itself, where the copied workflow cannot access GHA_AGREEMENTS_PAT and therefore cannot record a signature. Existing signatures and the CLA document are not changed. |
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
Skip the Scratch Foundation CLA job when a pull request targets a fork.
This does not disable CLA checks for contributions sent from a fork to a Scratch Foundation repository. In that case, GitHub runs the workflow from the upstream base repository, where the required organization secret is available.
Problem
GitHub copies this workflow when a Scratch Foundation repository is forked, but repository secrets are intentionally not copied.
As a result, a pull request targeting the fork itself starts the copied CLA workflow without GHA_AGREEMENTS_PAT. The job cannot record signatures in scratchfoundation/scratch-agreements and fails even though the pull request is only part of the fork's own development.
This produces a misleading failed check for downstream projects maintaining their own changes.
Behavior
The result depends on the repository targeted by the pull request, not on where the source branch is located.
A pull request targeting a personal or downstream fork
GHA_AGREEMENTS_PATsecret.A pull request targeting a Scratch Foundation repository
A contribution sent from a fork to Scratch Foundation
Naohiro2g/scratch-editortoscratchfoundation/scratch-editor.scratchfoundation/scratch-editor.The source branch being in a fork does not disable the CLA check. The job is skipped only when the pull request targets a repository that is itself a fork.
Non-goals
This change does not:
A fork that later submits a pull request upstream will still be checked by the upstream workflow. Existing signatures stored in scratchfoundation/scratch-agreements continue to be recognized there.
Validation
Rollout scope
This repository contains one copy of the CLA workflow. The same or an equivalent
signature-assistant.ymlworkflow is also maintained separately in several other Scratch Foundation repositories, including:scratchfoundation/scratch-editorscratchfoundation/scratch-blocksscratchfoundation/scratch-wwwscratchfoundation/scratch-l10nscratchfoundation/scratch-desktopscratchfoundation/.githubAdditional copies currently exist in repositories such as
scratchfoundation/scratch-link,scratchfoundation/scratch-audio,scratchfoundation/scratch-parser,scratchfoundation/scratch-sb1-converter,scratchfoundation/scratch-webpack-configuration,scratchfoundation/scratch-renovate-config, andscratchfoundation/eslint-config-scratch.Merging this PR changes only the workflow in
scratchfoundation/scratch-agreements. It does not automatically update the copies in those other repositories.For example, a pull request targeting
Naohiro2g/scratch-editorwill continue to run the copied workflow from that fork until the same guard is added toscratchfoundation/scratch-editorand later reaches the fork through an upstream sync.If this behavior is accepted, the same guard should be applied to the other workflow copies through the rollout mechanism preferred by the Scratch Team. This PR intentionally does not attempt to modify multiple repositories before the behavior has been reviewed.