diff --git a/.github/release-intro.md b/.github/release-intro.md index 80de8d7..55f5757 100644 --- a/.github/release-intro.md +++ b/.github/release-intro.md @@ -33,6 +33,8 @@ uv tool install --python 3.14 --torch-backend cpu \ ### Containers +Browse published tags in the [VidXP container package]({container_package_url}). + ```bash docker pull {container_image}:{version} ``` diff --git a/tests/test_release_notes.py b/tests/test_release_notes.py index e33ed8f..a36f063 100644 --- a/tests/test_release_notes.py +++ b/tests/test_release_notes.py @@ -47,6 +47,10 @@ def test_release_page_links_exact_assets_before_changelog(self): self.assertIn("vidxp[local-worker,mcp,frontend]==0.4.0-b", result) self.assertNotIn("python -m pip install", result) self.assertIn("ghcr.io/grayhatdevelopers/vidxp:0.4.0-b", result) + self.assertIn( + "https://github.com/grayhatdevelopers/vidxp/pkgs/container/vidxp", + result, + ) self.assertNotIn("Beta release", result) def test_beta_warning_and_rendering_are_idempotent(self): @@ -56,6 +60,10 @@ def test_beta_warning_and_rendering_are_idempotent(self): self.assertEqual(first, second) self.assertEqual(first.count("Beta release"), 1) self.assertEqual(first.count("Fixed upload recovery"), 1) + self.assertIn( + "https://github.com/grayhatdevelopers/vidxp/pkgs/container/vidxp", + first, + ) def test_rejects_an_ambiguous_platform_asset(self): (self.assets / "another.exe").touch() diff --git a/utils/render_release_notes.py b/utils/render_release_notes.py index 7a9a662..2c667db 100644 --- a/utils/render_release_notes.py +++ b/utils/render_release_notes.py @@ -72,6 +72,10 @@ def render( repository, tag, asset_paths["checksums"] ), container_image=f"ghcr.io/{repository.lower()}", + container_package_url=( + f"https://github.com/{repository.lower()}/pkgs/container/" + f"{repository.rsplit('/', maxsplit=1)[-1].lower()}" + ), deployment_url=f"{source_root}/docs/deployment/coolify.md", installation_url=f"{source_root}/INSTALLATION_GUIDE.md", issues_url=f"https://github.com/{repository}/issues",