Repository navigation
feat: migrate source human_link templates from jinja to Go templates - #6342
Draft
michaelkedar wants to merge 1 commit into
Draft
michaelkedar wants to merge 1 commit into
michaelkedar wants to merge 1 commit into
Conversation
This was referenced Nov 11, 2026
michaelkedar
force-pushed
the
human-link-yaml
branch
from
November 11, 2026 03:15
836a426 to
c71af0f
Compare
michaelkedar
force-pushed
the
human-link-yaml
branch
from
November 11, 2026 03:18
c71af0f to
a56d1fc
Compare
michaelkedar
added a commit
that referenced
this pull request
Nov 11, 2026
Part 1/3 of moving `SourceRepository.human_link` off jinja (a leftover from the Python website) onto Go `text/template`. Templates get `.ID` and `.Ecosystems` (the affected ecosystems, in order), plus a small set of generic functions: - `field SEP N`: split on `SEP` and take part `N` (0-indexed; out of range is an error) - `replace OLD NEW` - `lower` Any render error means no human link is shown, so templates don't need conditionals. To keep things working while `source.yaml` is migrated (#6342), templates that fail to parse as Go templates fall back to gonja, with a `human_link is not a valid Go template, falling back to jinja` warning. The fallback is removed in #6343. Also updates the website devserver test data to the new syntax. Also removes the Flask-era `FLASK_SECRET_KEY`/`SECRET_KEY`/`API_URL` env var fallbacks from the website; neither staging nor prod sets them (both use `SESSION_SECRET_KEY`/`OSV_API_URL`). agy
Rewrite human_link in source.yaml and source_test.yaml to the Go template syntax, and document it in docs/new_source.md. This also fixes AlmaLinux human links, which used ECOSYSTEMS[1] (only valid for the old Python ecosystem list) in prod and the never-populated ECOSYSTEM_VER in staging.
michaelkedar
force-pushed
the
human-link-yaml
branch
from
November 11, 2026 23:10
a56d1fc to
fcd950d
Compare
cuixq
approved these changes
Nov 12, 2026
This branch has not been deployed
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.
Warning
Do not merge until #6341 is deployed to both staging and prod. Merging syncs
source.yaml/source_test.yamlto Datastore immediately, and the old website code cannot render the new syntax.Part 2/3: rewrite every
human_linkinsource.yamlandsource_test.yamlfrom jinja to the Go template syntax added in #6341, and document it indocs/new_source.md.This also fixes AlmaLinux human links:
ECOSYSTEMS[1], which only made sense for the old Python ecosystem list, so single-package advisories got no linkECOSYSTEM_VER, which the Go website never set, so there was never a linkAfter merging, spot-check human links for alma, suse, julia, alpine and a simple source on test.osv.dev and osv.dev.
agy