Repository navigation
Bump the pinned workflow schema to one that allows cache-mode - #114
Conversation
The schema pin predates SchemaStore's addition of cache-mode to github-workflow.json, so validateWorkflowSchemas rejects any job that sets it. Move the pin to 8b994c0149, which includes that change.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8756dc1a7c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| for SCHEMA in github-action.json github-workflow.json; do | ||
| info "Downloading $SCHEMA schema..." | ||
| if curl "https://raw.githubusercontent.com/SchemaStore/schemastore/5c0bfe97efb759922f71c378584246cc07e7c3ed/src/schemas/json/$SCHEMA" --output "$TEMP_SCHEMA_DIR/$SCHEMA" --silent; then | ||
| if curl "https://raw.githubusercontent.com/SchemaStore/schemastore/8b994c014937a9332f2fb53d993eb1a30705677c/src/schemas/json/$SCHEMA" --output "$TEMP_SCHEMA_DIR/$SCHEMA" --silent; then |
There was a problem hiding this comment.
Delay the schema bump until workflow inputs have types
When this commit reaches main, the org-wide validateSchemas job in .github/workflows/validateActions.yml runs this script against every repository using the newly pinned schema. That schema newly rejects the identified App workflows whose workflow_dispatch inputs omit type, so every non-bot App PR will fail this required validation even when unrelated. Land the dependent type: string fixes across affected repositories before activating this pin, or retain the previous validation behavior until they are ready.
Useful? React with 👍 / 👎.
Details
validateWorkflowSchemas.shvalidates every workflow in the org against a pinned copy of SchemaStore'sgithub-workflow.json. That pin (5c0bfe97ef, Aug 30) predatescache-mode, so the check rejects it as an additional property. This is what fails thecache-mode: readfollow-ups to the actionlint fork switch — for example https://github.com/Expensify/App/actions/runs/35691284470.This moves the pin to
8b994c0149(Sep 15), the current tip of that file. It includes #6340, which addedcache-mode. I verified locally that the four App workflows the current pin rejects (cla.yml,deployBlocker.yml,finishReleaseCycle.yml,verifyHybridApp.yml) all pass against it.Do not merge yet
The newer schema also tightens
workflow_dispatchinput validation, and that fails workflows the current pin accepts. In App these five gain new errors, each on an input that omitstype:.github/workflows/testBuild.yml—APP_PULL_REQUEST_URL,MOBILE_EXPENSIFY_PULL_REQUEST_URL.github/workflows/cherryPick.yml—PULL_REQUEST_URL.github/workflows/remote-build-android.yml—app_pull_request_url,mobile_expensify_pull_request_url.github/workflows/remote-build-ios.yml—app_pull_request_url,mobile_expensify_pull_request_url.github/workflows/publishReactNativeArtifacts.yml—app_pull_request_url,mobile_expensify_pull_request_urlEach needs
type: string. I only validated App, so other repos may have the same gap, and it will fail their PRs the moment this merges. The check runs from@main, so this has to land after those fixes, not before.Related Issues
https://github.com/Expensify/Expensify/issues/678960
Manual Tests
Downloaded both schema versions and ran
ajvagainst all of App's workflows. Thecache-modeerrors disappear under the new pin; the five workflows above are the only new failures, allmust have required property 'type'on aworkflow_dispatchinput.