Automate Ubuntu dependency baseline generation (closes #617)#824
Open
Aayushman-nvm wants to merge 13 commits intoprecice:masterfrom
Open
Automate Ubuntu dependency baseline generation (closes #617)#824Aayushman-nvm wants to merge 13 commits intoprecice:masterfrom
Aayushman-nvm wants to merge 13 commits intoprecice:masterfrom
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.
Automate Ubuntu dependency baseline generation (closes #617)
Approach
Repology's API is rate-limited and the dumps are too large (noted in the issue), so this uses Docker +
apt-cache policyto query package versions directly from Ubuntu's apt repositories instead.What's included
scripts/dependencies.yml— package list (required/optional), derived from the Ubuntu system guidescripts/generate_ubuntu_baseline.py— queries each package version via Docker and writes_data/ubuntu-baseline.yml. Run manually at release time withpython3 scripts/generate_ubuntu_baseline.py --lts 22.04 24.04. A--mockflag is available to test without Docker._data/ubuntu-baseline.yml— generated output, committed so Jekyll can reference it at build time.github/workflows/generate-baseline.yml—workflow_dispatch-only workflow for auto regenerating and adding ubuntu-baseline.yml list locallyHow I tested
debug.yml(a temporary workflow, not included in this PR) on theissue617branch to verify all packages independencies.ymlare actually available and resolvable on both Ubuntu 22.04 and 24.04 via apt.ubuntu-baseline.ymland confirmed the versions match whatapt-cache policyreports inside the containers.Notes
dependencies.ymlcan be updated independently of the script — easy to add or remove packages without touching any logic.content/docs/installation/building-from-source/installation-source-dependenciesis intentionally left untouched for now. Happy to wire the data file into the dependencies page however you'd prefer.Screenshots:

Core:
Autogenerated:
