From 4878fdb19af4eb9fef980e94c57295b1612ebb55 Mon Sep 17 00:00:00 2001 From: Keerthi Gowda Date: Tue, 25 Aug 2026 14:46:50 -0700 Subject: [PATCH] pkg-build: bundle metadata.json inside debs.tar.gz for S3 upload Generate metadata.json alongside the .deb files and include it in the debs.tar.gz archive, mirroring the format used by debusine-action's generate-sources-tar so Ubuntu proposed-artifact consumers get the same source-package/version/suite metadata as the Debian/Debusine path. Signed-off-by: Keerthi Gowda --- .../workflows/pkg-build-reusable-workflow.yml | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pkg-build-reusable-workflow.yml b/.github/workflows/pkg-build-reusable-workflow.yml index 9f09f49..9e8a6a9 100644 --- a/.github/workflows/pkg-build-reusable-workflow.yml +++ b/.github/workflows/pkg-build-reusable-workflow.yml @@ -615,6 +615,29 @@ jobs: mkdir -p build-area tar -C build-area -xzf docker-build-area.tgz + - name: Generate metadata.json + env: + SRCPKG_NAME: ${{ needs.test.outputs.srcpkg_name }} + SRCPKG_VERSION: ${{ needs.test.outputs.srcpkg_version }} + SUITE: ${{ needs.resolve.outputs.suite }} + run: | + set -euxo pipefail + python3 - build-area/metadata.json <<'PY' + import json + import os + import sys + + data = { + "source-package": os.environ["SRCPKG_NAME"], + "version": os.environ["SRCPKG_VERSION"], + "suite": os.environ["SUITE"], + } + + with open(sys.argv[1], "w") as f: + json.dump(data, f, indent=2) + f.write("\n") + PY + - name: Stage debs for S3 proposed upload run: | set -euxo pipefail @@ -623,7 +646,7 @@ jobs: if [ "${#debs[@]}" -eq 0 ]; then echo "No .deb files found in build-area; skipping debs.tar.gz creation" else - tar -czf s3-proposed/debs.tar.gz -C build-area "${debs[@]}" + tar -czf s3-proposed/debs.tar.gz -C build-area "${debs[@]}" metadata.json fi - name: Upload proposed debs to S3