Skip to content

Bump tools pin to v0.8.40 in all release workflows - #1224

Closed
ibrahim halatci (ihalatci) wants to merge 2 commits into
all-citusfrom
ihalatci-bump-tools-pin-v0839
Closed

Bump tools pin to v0.8.40 in all release workflows#1224
ibrahim halatci (ihalatci) wants to merge 2 commits into
all-citusfrom
ihalatci-bump-tools-pin-v0839

Conversation

@ihalatci

@ihalatci ibrahim halatci (ihalatci) commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Retargets the citusdata/tools clone pin to v0.8.40 (5c2b3e5e) in all three workflows that consume it, so they share one pin instead of drifting.

Workflow Before After
build-package.yml (L64) v0.8.36 v0.8.40
update_package_properties.yml (L53) v0.8.36 v0.8.40
build-citus-community-nightlies.yml (L55) v0.8.39 v0.8.40

+3/−3, pin strings only.

Why

The original driver was a bug in citus_package.py::get_postgres_versions(), fixed in v0.8.39. Its nightly exclusion filter iterated the wrong list:

nightly_versions = [v for v in release_versions   # should be nightly_versions
                    if v not in exclude_dict_nightly[platform_key_nightly]]

This was dormant while pg_exclude.yml had nightly: {} (falsy). It became reachable the moment all-citus gained a non-empty nightly: all: [19] for the PG19 work, at which point nightly builds would silently resolve the wrong PG set rather than fail loudly.

Since then v0.8.40 shipped, so this pins to that instead.

What v0.8.40 adds over v0.8.39

⚠️ Merge order: #1233 must land first

citusdata/tools#432 removes bullseye from supported_platforms in common_tool_methods.py, from platform_names in citus_package.py, and from the package-cloud distro map in upload_to_package_cloud.py. citus_package.py builds its --platform argparse choices from those maps, so debian/bullseye is no longer an accepted value and the job dies during argument parsing, before any build work.

This is now confirmed on this PR, not just predicted — all three debian/bullseye legs fail within seconds:

citus_package.py: error: argument --platform: invalid choice: 'debian/bullseye'
##[error]Process completed with exit code 2.

build-package.yml and build-citus-community-nightlies.yml both still list debian/bullseye in their platform matrices. #1233 removes it from both.

  • #1233 merges first → this is safe.
  • This merges first → the debian/bullseye legs break as above.

There is no textual conflict between the two PRs; they touch different lines.

update_package_properties.yml is not platform-scoped and is unaffected either way.

Notes

  • The branch name still says v0839; renaming it would close and recreate this PR, so it is left as-is.
  • The debian/bullseye legs were already failing on all-citus before this change, for an unrelated reason — Bullseye is EOL and its bullseye-security InRelease file is expired, which breaks apt-get update in the test image. This change simply moves the failure earlier. Either way the fix is #1233 retiring the platform.

build-package.yml and update_package_properties.yml still cloned tools
v0.8.36, while build-citus-community-nightlies.yml was already on
v0.8.39. Align all three.

v0.8.36 has a bug in citus_package.py get_postgres_versions(): the
nightly exclusion filter iterated release_versions instead of
nightly_versions, so nightly versions were rebuilt from the
already-release-filtered list. This became reachable once pg_exclude.yml
gained a non-empty nightly block (nightly: all: [19]) - previously
nightly: {} was falsy and the block never ran.

Between v0.8.36 and v0.8.39 the scripts these two workflows invoke
change only additively:
  - citus_package.py: adds ubuntu,resolute mapping; fixes the nightly
    filter; includes build stdout+stderr in the failure exception
  - upload_to_package_cloud.py: adds ubuntu/resolute distro id
  - common_tool_methods.py: adds resolute to the ubuntu release list
update_package_properties.py itself is unchanged between the two tags.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
Retarget from v0.8.39 to v0.8.40, and include
build-citus-community-nightlies.yml so all three workflows share a
single pin rather than leaving it behind at v0.8.39.

v0.8.40 adds three commits on top of v0.8.39:
  5c2b3e5e Handle known ARM64 libc6 diversion warnings (#433)
  7226f926 Retire Debian Bullseye from packaging tools (#432)
  f1258e6a Do not delete the caller's directory in pipeline mode (#425)

MERGE ORDER MATTERS: #432 removes "bullseye" from supported_platforms
in common_tool_methods.py, from platform_names in citus_package.py and
from the package cloud distro map in upload_to_package_cloud.py.
decode_os_and_release() validates os_release against supported_platforms
and raises ValueError for an unknown release, so any workflow still
passing --platform debian/bullseye fails immediately under v0.8.40.

build-package.yml and build-citus-community-nightlies.yml both still
list debian/bullseye in their platform matrices. PR #1233 removes it
from both. #1233 must merge before this change, otherwise the
debian/bullseye legs break.

update_package_properties.yml is not platform-scoped and is unaffected
either way.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
@ihalatci ibrahim halatci (ihalatci) changed the title Bump tools pin to v0.8.39 in release workflows Bump tools pin to v0.8.40 in all release workflows Sep 10, 2026
ibrahim halatci (ihalatci) pushed a commit that referenced this pull request Sep 10, 2026
Fold the net changes from #1224 (head b16a79c) into #1233 without replaying the intermediate v0.8.39 bump. Preserve the Bullseye matrix retirement and ARM64 debsigner build-context fix, removing the merge-order dependency between these two PRs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@ihalatci

Copy link
Copy Markdown
Contributor Author

folded into #1233

ibrahim halatci (ihalatci) pushed a commit that referenced this pull request Sep 10, 2026
* Retire Bullseye from Citus release and nightly builds

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Fix arm64 Citus release debsigner build context

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 555499a)

* Align release workflow tools pins to v0.8.40

Fold the net changes from #1224 (head b16a79c) into #1233 without replaying the intermediate v0.8.39 bump. Preserve the Bullseye matrix retirement and ARM64 debsigner build-context fix, removing the merge-order dependency between these two PRs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Ibrahim Halatci <ihalatci@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant