René's URL Explorer Experiment


Title: Parse and generate YAML in `sync_back.ts` by mbg · Pull Request #3556 · github/codeql-action · GitHub

Open Graph Title: Parse and generate YAML in `sync_back.ts` by mbg · Pull Request #3556 · github/codeql-action

X Title: Parse and generate YAML in `sync_back.ts` by mbg · Pull Request #3556 · github/codeql-action

Description: This is an alternative to #3547 which avoids the regular expressions entirely. It does this by using the yaml library that we already use in sync.ts to: Parse the workflows in .github/workflows to extract the action versions Then parses, updates, and renders the workflow templates in pr-checks/checks For sync.ts, I have extracted a mapping of action names to versions into a separate file (action-versions.ts) which can easily be re-generated by the sync_back.ts script. A couple of extra notes for review: I looked into running eslint over the resulting action-versions.ts file, but this is currently sort-of blocked on me adding a tsconfig.json for pr-checks and then an eslint config. I'll do that, but separately from this. Risk assessment For internal use only. Please select the risk level of this change: Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only. Which use cases does this change impact? Environments: Testing/None - This change does not impact any CodeQL workflows in production. How did/will you validate this change? Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files). End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks). If something goes wrong after this change is released, what are the mitigation and rollback strategies? Development/testing only - This change cannot cause any failures in production. How will you know if something goes wrong after this change is released? Other - Please provide details. Are there any special considerations for merging or releasing this change? No special considerations - This change can be merged at any time. Merge / deployment checklist Confirm this change is backwards compatible with existing workflows. Consider adding a changelog entry for this change. Confirm the readme and docs have been updated if necessary.

Open Graph Description: This is an alternative to #3547 which avoids the regular expressions entirely. It does this by using the yaml library that we already use in sync.ts to: Parse the workflows in .github/workflows to...

X Description: This is an alternative to #3547 which avoids the regular expressions entirely. It does this by using the yaml library that we already use in sync.ts to: Parse the workflows in .github/workflows to...

Opengraph URL: https://github.com/github/codeql-action/pull/3556

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:64c2974e-d085-1243-5e79-7f32fb08ed08
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD3C0:39430A:1315781:1B516D2:6A4CC196
html-safe-nonce54baff1486f056a4ccdfe4389f77d5ddc0ea81a179e7fc65aea8ab15905f5ba5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEM0MwOjM5NDMwQToxMzE1NzgxOjFCNTE2RDI6NkE0Q0MxOTYiLCJ2aXNpdG9yX2lkIjoiMjM2NDk3MTYxMTAxMjc3NjM0MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacec9a81ff52b4b35f8f08f6ea545c2c2de08a32eeb1916cd97efb6f60831d801d
hovercard-subject-tagpull_request:3366082000
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/github/codeql-action/pull/3556/files
twitter:imagehttps://avatars.githubusercontent.com/u/278086?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/278086?s=400&v=4
og:image:altThis is an alternative to #3547 which avoids the regular expressions entirely. It does this by using the yaml library that we already use in sync.ts to: Parse the workflows in .github/workflows to...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/github/codeql-action git https://github.com/github/codeql-action.git
octolytics-dimension-user_id9919
octolytics-dimension-user_logingithub
octolytics-dimension-repository_id259445878
octolytics-dimension-repository_nwogithub/codeql-action
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id259445878
octolytics-dimension-repository_network_root_nwogithub/codeql-action
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec03e7e569190bc89b638cdd4acb4b6c6b38a170a
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/github/codeql-action/pull/3556/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgithub%2Fcodeql-action%2Fpull%2F3556%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgithub%2Fcodeql-action%2Fpull%2F3556%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=github%2Fcodeql-action
Reloadhttps://github.com/github/codeql-action/pull/3556/files
Reloadhttps://github.com/github/codeql-action/pull/3556/files
Reloadhttps://github.com/github/codeql-action/pull/3556/files
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
github https://github.com/github
codeql-actionhttps://github.com/github/codeql-action
Notifications https://github.com/login?return_to=%2Fgithub%2Fcodeql-action
Fork 470 https://github.com/login?return_to=%2Fgithub%2Fcodeql-action
Star 1.6k https://github.com/login?return_to=%2Fgithub%2Fcodeql-action
Code https://github.com/github/codeql-action
Issues 156 https://github.com/github/codeql-action/issues
Pull requests 27 https://github.com/github/codeql-action/pulls
Actions https://github.com/github/codeql-action/actions
Models https://github.com/github/codeql-action/models
Security and quality 2 https://github.com/github/codeql-action/security
Insights https://github.com/github/codeql-action/pulse
Code https://github.com/github/codeql-action
Issues https://github.com/github/codeql-action/issues
Pull requests https://github.com/github/codeql-action/pulls
Actions https://github.com/github/codeql-action/actions
Models https://github.com/github/codeql-action/models
Security and quality https://github.com/github/codeql-action/security
Insights https://github.com/github/codeql-action/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgithub%2Fcodeql-action%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgithub%2Fcodeql-action%2Fissues%2Fnew%2Fchoose
mbghttps://github.com/mbg
mainhttps://github.com/github/codeql-action/tree/main
mbg/ts/sync-back-parsehttps://github.com/github/codeql-action/tree/mbg/ts/sync-back-parse
Conversation 10 https://github.com/github/codeql-action/pull/3556
Findings https://github.com/github/codeql-action/pull/3556/findings
Commits 7 https://github.com/github/codeql-action/pull/3556/commits
Checks 244 https://github.com/github/codeql-action/pull/3556/checks
Files changed https://github.com/github/codeql-action/pull/3556/files
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
Parse and generate YAML in sync_back.ts https://github.com/github/codeql-action/pull/3556/files#top
Show all changes 7 commits https://github.com/github/codeql-action/pull/3556/files
f4b6bd9 Parse/render YAML documents for `sync_back.ts` mbg Mar 6, 2026 https://github.com/github/codeql-action/pull/3556/commits/f4b6bd982f8ec0e0281166ef1ee9185341bca5d8
5f152be Minor adjustments to PR check templates mbg Mar 6, 2026 https://github.com/github/codeql-action/pull/3556/commits/5f152be4c2a5e2ab6d517f4bbb439cccbfe5756c
13e47f8 Type options and add `--force` option mbg Mar 6, 2026 https://github.com/github/codeql-action/pull/3556/commits/13e47f85a54a1a02f0ff5dac83a1acfdbf2e260f
6679b04 Generate separate TS file with version mappings mbg Mar 7, 2026 https://github.com/github/codeql-action/pull/3556/commits/6679b049d5c522c94269d43e699ce5058b28698c
0b27c71 Generate and use `action-versions.ts` mbg Mar 7, 2026 https://github.com/github/codeql-action/pull/3556/commits/0b27c7173152717dc81533bdf1f094a9e68440dc
639dddc Add missing newline at the end of `action-versions.ts` mbg Mar 9, 2026 https://github.com/github/codeql-action/pull/3556/commits/639dddc7287e6e5f08c7af3d71e1d8207afb6acf
25599b3 Use `doc.toString` rather than `yaml.stringify` mbg Mar 9, 2026 https://github.com/github/codeql-action/pull/3556/commits/25599b3fc8c58f4a6fb8683b430ab0af00995904
Clear filters https://github.com/github/codeql-action/pull/3556/files
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
action-versions.ts https://github.com/github/codeql-action/pull/3556/files#diff-4f75a91731e46a142839f2125c34cc444a023e8be7a8bd633c99f551471807c0
autobuild-direct-tracing-with-working-dir.yml https://github.com/github/codeql-action/pull/3556/files#diff-e0ae1497d7b4b2dfdd4c7d4f57b2f75026d86a20de0e0c235d7341dc3ec43b6f
init-with-registries.yml https://github.com/github/codeql-action/pull/3556/files#diff-a63f3b27c6647cb9245e4ba5fda00e16aacd29fd9b59fbe4b91c579986c7e165
overlay-init-fallback.yml https://github.com/github/codeql-action/pull/3556/files#diff-3591ea9c791104032f1bf5460871c0ab43687dc423b1d763f8e6947b39ef8eab
sync.ts https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
sync_back.test.ts https://github.com/github/codeql-action/pull/3556/files#diff-2f57cea8dd9e0da0cab92292bab66cc07cb8ca44424fbc0047350cfece998b46
sync_back.ts https://github.com/github/codeql-action/pull/3556/files#diff-2632b6c415d8a2b54228e0df2b40d600ad7e20e7e081747144d62c20b9f34209
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
pr-checks/action-versions.tshttps://github.com/github/codeql-action/pull/3556/files#diff-4f75a91731e46a142839f2125c34cc444a023e8be7a8bd633c99f551471807c0
View file https://github.com/github/codeql-action/blob/25599b3fc8c58f4a6fb8683b430ab0af00995904/pr-checks/action-versions.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/3556/{{ revealButtonHref }}
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
pr-checks/checks/autobuild-direct-tracing-with-working-dir.ymlhttps://github.com/github/codeql-action/pull/3556/files#diff-e0ae1497d7b4b2dfdd4c7d4f57b2f75026d86a20de0e0c235d7341dc3ec43b6f
View file https://github.com/github/codeql-action/blob/25599b3fc8c58f4a6fb8683b430ab0af00995904/pr-checks/checks/autobuild-direct-tracing-with-working-dir.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/3556/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/3556/files#diff-e0ae1497d7b4b2dfdd4c7d4f57b2f75026d86a20de0e0c235d7341dc3ec43b6f
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
pr-checks/checks/init-with-registries.ymlhttps://github.com/github/codeql-action/pull/3556/files#diff-a63f3b27c6647cb9245e4ba5fda00e16aacd29fd9b59fbe4b91c579986c7e165
View file https://github.com/github/codeql-action/blob/25599b3fc8c58f4a6fb8683b430ab0af00995904/pr-checks/checks/init-with-registries.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/3556/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/3556/files#diff-a63f3b27c6647cb9245e4ba5fda00e16aacd29fd9b59fbe4b91c579986c7e165
https://github.com/github/codeql-action/pull/3556/files#diff-a63f3b27c6647cb9245e4ba5fda00e16aacd29fd9b59fbe4b91c579986c7e165
https://github.com/github/codeql-action/pull/3556/files#diff-a63f3b27c6647cb9245e4ba5fda00e16aacd29fd9b59fbe4b91c579986c7e165
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
pr-checks/checks/overlay-init-fallback.ymlhttps://github.com/github/codeql-action/pull/3556/files#diff-3591ea9c791104032f1bf5460871c0ab43687dc423b1d763f8e6947b39ef8eab
View file https://github.com/github/codeql-action/blob/25599b3fc8c58f4a6fb8683b430ab0af00995904/pr-checks/checks/overlay-init-fallback.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/3556/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/3556/files#diff-3591ea9c791104032f1bf5460871c0ab43687dc423b1d763f8e6947b39ef8eab
https://github.com/github/codeql-action/pull/3556/files#diff-3591ea9c791104032f1bf5460871c0ab43687dc423b1d763f8e6947b39ef8eab
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
pr-checks/sync.tshttps://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
View file https://github.com/github/codeql-action/blob/25599b3fc8c58f4a6fb8683b430ab0af00995904/pr-checks/sync.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/3556/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
https://github.com/github/codeql-action/pull/3556/files#diff-5b22528f10341e3c06cb28309cc814aaabb620eb17be5edd6aa9bbe94d1677ae
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
Please reload this pagehttps://github.com/github/codeql-action/pull/3556/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.