Skip to content

Automate Ubuntu dependency baseline generation (closes #617)#824

Open
Aayushman-nvm wants to merge 13 commits intoprecice:masterfrom
Aayushman-nvm:issue617
Open

Automate Ubuntu dependency baseline generation (closes #617)#824
Aayushman-nvm wants to merge 13 commits intoprecice:masterfrom
Aayushman-nvm:issue617

Conversation

@Aayushman-nvm
Copy link

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 policy to 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 guide
  • scripts/generate_ubuntu_baseline.py — queries each package version via Docker and writes _data/ubuntu-baseline.yml. Run manually at release time with python3 scripts/generate_ubuntu_baseline.py --lts 22.04 24.04. A --mock flag 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.ymlworkflow_dispatch-only workflow for auto regenerating and adding ubuntu-baseline.yml list locally

How I tested

  • Ran debug.yml (a temporary workflow, not included in this PR) on the issue617 branch to verify all packages in dependencies.yml are actually available and resolvable on both Ubuntu 22.04 and 24.04 via apt.
  • Ran the generation script locally with Docker to produce the committed ubuntu-baseline.yml and confirmed the versions match what apt-cache policy reports inside the containers.

Notes

  • The package list in dependencies.yml can be updated independently of the script — easy to add or remove packages without touching any logic.
  • Page integration content/docs/installation/building-from-source/installation-source-dependencies is intentionally left untouched for now. Happy to wire the data file into the dependencies page however you'd prefer.

Screenshots:
Core:
image

Autogenerated:
image

@MakisH MakisH added technical Technical issues on the website GSoC Contributed in the context of the Google Summer of Code labels Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GSoC Contributed in the context of the Google Summer of Code technical Technical issues on the website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automate dependency page

2 participants