Skip to content

release-25.2: release tooling: bundled backport of GHA-migration follow-ups#170813

Open
rail wants to merge 1 commit into
cockroachdb:release-25.2from
rail:backport25.2-170348-170392-170657-170670-170686-170727-170765-170779
Open

release-25.2: release tooling: bundled backport of GHA-migration follow-ups#170813
rail wants to merge 1 commit into
cockroachdb:release-25.2from
rail:backport25.2-170348-170392-170657-170670-170686-170727-170765-170779

Conversation

@rail
Copy link
Copy Markdown
Member

@rail rail commented May 22, 2026

Backport of 8 release-26.1 PRs onto release-25.2 so the new GitHub
Actions release pipeline can drive 25.2 patch releases on behalf of @rail:

Unlike the release-25.4 backport (#170804), the 8 commits do not
cherry-pick cleanly onto release-25.2 — the legacy email/Jira release
tooling (blockers.go, github.go, jira.go, metadata.go, orchestration.go,
set_cockroach_version.go, their tests and templates) was removed before
release-25.4 was cut, so the migration PR introduces a pick_sha.go
that collides with release-25.2's pre-existing one. Rather than
hand-merging hundreds of hunks, the release-tooling code is replaced
wholesale with the post-PR state from release-26.1 (tip 97b3f3e):

  • pkg/cmd/release/ library + sentry tool lifted from release-26.1;
    the legacy email-tooling Go files, templates, and testdata deleted
    to match release-25.4's already-pruned shape.
  • .github/workflows/release-{branch-cut,build-and-sign,pick-sha, publish}.yml added.
  • build/github/release-*.sh wrapper scripts added.
  • Shared TeamCity-era scripts (build/release/teamcity-*.sh,
    build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
    build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
    build/teamcity/internal/release/process/build-cockroach-release-*.sh)
    lifted from release-26.1; the migration's edits here are additive
    WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
    so the legacy TeamCity code paths still work.
  • cockroachdb/version bumped from the March 2025 pin to the May 2025
    pin so the new pkg/cmd/release can use version.IncPreRelease /
    IncPatch. The bump renames IsCustomOrNightlyBuild to
    IsCustomOrAdhocBuild on the *Version receiver; the one caller in
    pkg/build/info.go is updated.

Branch-specific adjustments (release-25.2 differs from release-26.1 in
ways the 26.1 versions of these scripts didn't anticipate):

  • verify_docker_image reverted to detect FIPS via Go version + OpenSSL
    fingerprint. The 26.1 version grep's for a FIPS enabled: true line
    that requires the crypto/fips140-based check in pkg/build/info.go
    introduced post-25.2; release-25.2's cockroach binary does not emit it.
  • TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel — the
    migration added it on master for a reason that doesn't apply on 25.2,
    where the var isn't set in the TC environment.
  • run_bazel_fips left removed (no callers on release-25.2).
  • linux-s390x dropped from build-linux / build-per-platform-ibm
    matrices, release-sign-ibm.sh's iteration, and the cloud-only
    comment. release-25.2 does not build s390x. IBM build/sign jobs are
    kept (they're the no-telemetry linux variants, not s390x-only).
  • build-cockroach-release-per-platform.sh reverted to
    publish-provisional-artifacts -provisional -release — release-25.2
    predates the publish-artifacts rename + release subcommand split.
  • build-cockroach-release-per-platform.sh restores the
    --build-arg fips_enabled=1 branch for the FIPS docker image; the
    release-25.2 build/deploy/Dockerfile gates FIPS package installation
    on this arg.
  • make-and-publish-* TC-only nightly scripts reverted to 25.2
    originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None

@rail rail requested a review from a team as a code owner May 22, 2026 16:09
@blathers-crl
Copy link
Copy Markdown

blathers-crl Bot commented May 22, 2026

Thanks for opening a backport.

Before merging, please confirm that it falls into one of the following categories (select one):

  • Non-production code changes OR fixes for serious issues. Non-production includes test-only changes, build system changes, etc. Serious issues are defined in the policy as correctness, stability, or security issues, data corruption/loss, significant performance regressions, breaking working and widely used functionality, or an inability to detect and debug production issues.
  • Other approved changes. These changes must be gated behind a disabled-by-default feature flag unless there is a strong justification not to. Reference the approved ENGREQ ticket in the PR body (e.g., "Fixes ENGREQ-123").

Add a brief release justification to the PR description explaining your selection.

Also, confirm that the change does not break backward compatibility and complies with all aspects of the backport policy.

All backports must be reviewed by the TL and EM for the owning area.

@trunk-io
Copy link
Copy Markdown
Contributor

trunk-io Bot commented May 22, 2026

Merging to release-25.2 in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

@blathers-crl blathers-crl Bot added backport Label PR's that are backports to older release branches T-code-systems labels May 22, 2026
@rail rail self-assigned this May 22, 2026
@blathers-crl
Copy link
Copy Markdown

blathers-crl Bot commented May 22, 2026

Your pull request contains more than 1000 changes. It is strongly encouraged to split big PRs into smaller chunks.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@rail rail force-pushed the backport25.2-170348-170392-170657-170670-170686-170727-170765-170779 branch from 140e81b to f4152d0 Compare May 22, 2026 16:19
Bring release-25.2 in line with release-26.1's release-tooling stack so
the new GitHub Actions release pipeline can drive 25.2 patch releases.
This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

The 8 source PRs do not cherry-pick cleanly onto release-25.2 because
the legacy email/Jira release tooling (blockers.go, github.go, jira.go,
metadata.go, orchestration.go, set_cockroach_version.go, their tests
and templates) was removed before release-25.4 was cut. Rather than
hand-merging hundreds of hunks, the release-tooling code is replaced
wholesale with the post-PR state from release-26.1:

  * pkg/cmd/release/ entire library lifted from release-26.1 tip
    (97b3f3e); legacy email-tooling files deleted to match.
  * .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
    publish}.yml added.
  * build/github/release-*.sh wrapper scripts added.
  * Shared TeamCity-era scripts (build/release/teamcity-*.sh,
    build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
    build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
    build/teamcity/internal/release/process/*.sh) lifted from
    release-26.1; the migration's changes here are additive (new WIF
    auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE) and
    the legacy TeamCity code paths still work.
  * cockroachdb/version bumped from the March 2025 pin to the May 2025
    pin so the new pkg/cmd/release can use version.IncPreRelease /
    IncPatch. The bump renames IsCustomOrNightlyBuild to
    IsCustomOrAdhocBuild on the *Version receiver; the one caller in
    pkg/build/info.go is updated.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
@rail rail force-pushed the backport25.2-170348-170392-170657-170670-170686-170727-170765-170779 branch from f4152d0 to 2a6d46d Compare May 22, 2026 17:19
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.3 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.3 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Like the release-25.2 backport (cockroachdb#170813), the 8 commits don't
cherry-pick cleanly onto release-24.3 because the legacy email/Jira
release tooling (blockers.go, github.go, jira.go, metadata.go,
orchestration.go, set_cockroach_version.go, their tests and
templates) was removed before release-25.4 was cut. The release-tooling
code is replaced wholesale with the post-PR state from release-26.1
(tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip; legacy
  email-tooling Go files, templates, and testdata deleted to match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits here are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.3 didn't have it
  at all) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped. DEPS.bzl regenerated accordingly.

Branch-specific adjustments (release-24.3 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.3; release-24.3's cockroach
  binary doesn't emit it. (pkg/build/info.go itself is unchanged on
  this branch because release-24.3 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module that introduced the IsCustomOrAdhocBuild rename.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.3's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.3).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.3 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.3
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.3 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts reverted to 24.3
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.1 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.1 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Mirrors the release-24.3 (cockroachdb#170820) and release-25.2 (cockroachdb#170813)
backports: the legacy email/Jira release tooling that release-24.1
still carries is replaced wholesale with the post-PR state from
release-26.1 (tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip;
  legacy email-tooling Go files, templates, and testdata deleted to
  match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits there are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.1 didn't carry
  it) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped from go.mod, go.sum, and DEPS.bzl.

Branch-specific adjustments (release-24.1 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.1. (pkg/build/info.go itself
  is unchanged here because release-24.1 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.1's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.1).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.1 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.1
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.1 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts kept at 24.1
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.3 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.3 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Like the release-25.2 backport (cockroachdb#170813), the 8 commits don't
cherry-pick cleanly onto release-24.3 because the legacy email/Jira
release tooling (blockers.go, github.go, jira.go, metadata.go,
orchestration.go, set_cockroach_version.go, their tests and
templates) was removed before release-25.4 was cut. The release-tooling
code is replaced wholesale with the post-PR state from release-26.1
(tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip; legacy
  email-tooling Go files, templates, and testdata deleted to match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits here are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.3 didn't have it
  at all) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped. DEPS.bzl regenerated accordingly.

Branch-specific adjustments (release-24.3 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.3; release-24.3's cockroach
  binary doesn't emit it. (pkg/build/info.go itself is unchanged on
  this branch because release-24.3 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module that introduced the IsCustomOrAdhocBuild rename.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.3's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.3).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.3 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.3
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.3 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts reverted to 24.3
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.1 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.1 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Mirrors the release-24.3 (cockroachdb#170820) and release-25.2 (cockroachdb#170813)
backports: the legacy email/Jira release tooling that release-24.1
still carries is replaced wholesale with the post-PR state from
release-26.1 (tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip;
  legacy email-tooling Go files, templates, and testdata deleted to
  match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits there are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.1 didn't carry
  it) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped from go.mod, go.sum, and DEPS.bzl.

Branch-specific adjustments (release-24.1 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.1. (pkg/build/info.go itself
  is unchanged here because release-24.1 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.1's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.1).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.1 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.1
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.1 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts kept at 24.1
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.3 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.3 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Like the release-25.2 backport (cockroachdb#170813), the 8 commits don't
cherry-pick cleanly onto release-24.3 because the legacy email/Jira
release tooling (blockers.go, github.go, jira.go, metadata.go,
orchestration.go, set_cockroach_version.go, their tests and
templates) was removed before release-25.4 was cut. The release-tooling
code is replaced wholesale with the post-PR state from release-26.1
(tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip; legacy
  email-tooling Go files, templates, and testdata deleted to match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits here are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.3 didn't have it
  at all) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped. DEPS.bzl regenerated accordingly.

Branch-specific adjustments (release-24.3 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.3; release-24.3's cockroach
  binary doesn't emit it. (pkg/build/info.go itself is unchanged on
  this branch because release-24.3 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module that introduced the IsCustomOrAdhocBuild rename.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.3's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.3).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.3 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.3
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.3 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts reverted to 24.3
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.1 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.1 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Mirrors the release-24.3 (cockroachdb#170820) and release-25.2 (cockroachdb#170813)
backports: the legacy email/Jira release tooling that release-24.1
still carries is replaced wholesale with the post-PR state from
release-26.1 (tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip;
  legacy email-tooling Go files, templates, and testdata deleted to
  match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits there are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.1 didn't carry
  it) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped from go.mod, go.sum, and DEPS.bzl.

Branch-specific adjustments (release-24.1 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.1. (pkg/build/info.go itself
  is unchanged here because release-24.1 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.1's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.1).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.1 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.1
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.1 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts kept at 24.1
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.3 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.3 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Like the release-25.2 backport (cockroachdb#170813), the 8 commits don't
cherry-pick cleanly onto release-24.3 because the legacy email/Jira
release tooling (blockers.go, github.go, jira.go, metadata.go,
orchestration.go, set_cockroach_version.go, their tests and
templates) was removed before release-25.4 was cut. The release-tooling
code is replaced wholesale with the post-PR state from release-26.1
(tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip; legacy
  email-tooling Go files, templates, and testdata deleted to match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits here are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.3 didn't have it
  at all) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped. DEPS.bzl regenerated accordingly.

Branch-specific adjustments (release-24.3 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.3; release-24.3's cockroach
  binary doesn't emit it. (pkg/build/info.go itself is unchanged on
  this branch because release-24.3 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module that introduced the IsCustomOrAdhocBuild rename.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.3's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.3).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.3 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.3
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.3 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts reverted to 24.3
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.1 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.1 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Mirrors the release-24.3 (cockroachdb#170820) and release-25.2 (cockroachdb#170813)
backports: the legacy email/Jira release tooling that release-24.1
still carries is replaced wholesale with the post-PR state from
release-26.1 (tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip;
  legacy email-tooling Go files, templates, and testdata deleted to
  match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits there are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.1 didn't carry
  it) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped from go.mod, go.sum, and DEPS.bzl.

Branch-specific adjustments (release-24.1 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.1. (pkg/build/info.go itself
  is unchanged here because release-24.1 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.1's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.1).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.1 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.1
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.1 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts kept at 24.1
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
rail added a commit to rail/cockroach that referenced this pull request May 22, 2026
Bring release-24.3 in line with release-26.1's release-tooling stack
so the new GitHub Actions release pipeline can drive 24.3 patch
releases. This bundles the eight release-26.1 PRs listed below:

  cockroachdb#170348 release: migrate release pipelines from TeamCity to GitHub Actions
  cockroachdb#170392 build,release: forward IS_PRODUCTION_REPO into the release binary
  cockroachdb#170657 release: fix two prod release-workflow bugs
  cockroachdb#170670 release: bump release-notes API client timeout to 2 minutes
  cockroachdb#170686 release: fix two more prod release-workflow auth bugs
  cockroachdb#170727 release/sentry: use 'gcloud storage cp' to download artifact
  cockroachdb#170765 release: follow-ups to the pick-sha + cloud-rollout flow
  cockroachdb#170779 release: route build/publish notify to #release-ops by ID-vs-name

Like the release-25.2 backport (cockroachdb#170813), the 8 commits don't
cherry-pick cleanly onto release-24.3 because the legacy email/Jira
release tooling (blockers.go, github.go, jira.go, metadata.go,
orchestration.go, set_cockroach_version.go, their tests and
templates) was removed before release-25.4 was cut. The release-tooling
code is replaced wholesale with the post-PR state from release-26.1
(tip 97b3f3e):

- pkg/cmd/release/ entire library lifted from release-26.1 tip; legacy
  email-tooling Go files, templates, and testdata deleted to match.
- .github/workflows/release-{branch-cut,build-and-sign,pick-sha,
  publish}.yml added.
- build/github/release-*.sh wrapper scripts added.
- Shared TeamCity-era scripts (build/release/teamcity-*.sh,
  build/teamcity-bazel-support.sh, build/teamcity-common-support.sh,
  build/teamcity/internal/cockroach/release/{process,publish}/*.sh,
  build/teamcity/internal/release/process/build-cockroach-release-*.sh)
  lifted from release-26.1; the migration's edits here are additive
  WIF-auth branches gated on CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE,
  so the legacy TeamCity code paths still work.
- cockroachdb/version added as a new dep (release-24.3 didn't have it
  at all) at the May 2025 pin so the new pkg/cmd/release can use
  version.IncPreRelease / IncPatch. go-github v61 also added.
  Orphaned deps from the deleted legacy tooling
  (andygrunwald/go-jira, google/go-github/v42, indirect trivago/tgo
  and fatih/structs) dropped. DEPS.bzl regenerated accordingly.

Branch-specific adjustments (release-24.3 differs from release-26.1):

- verify_docker_image reverted to detect FIPS via Go version + OpenSSL
  fingerprint. The 26.1 version greps for a 'FIPS enabled: true'
  line that requires the crypto/fips140-based check in
  pkg/build/info.go introduced post-24.3; release-24.3's cockroach
  binary doesn't emit it. (pkg/build/info.go itself is unchanged on
  this branch because release-24.3 still uses the internal
  pkg/util/version package and never adopted the cockroachdb/version
  external module that introduced the IsCustomOrAdhocBuild rename.)
- TEAMCITY_BUILD_PROPERTIES_FILE mount removed from run_bazel —
  release-24.3's TC environment doesn't set it.
- run_bazel_fips left removed (no callers on release-24.3).
- linux-s390x dropped from build-linux / build-per-platform-ibm
  matrices, release-sign-ibm.sh's iteration, the publish-staged
  platforms list, and the cloud-only comment. release-24.3 does not
  build s390x. IBM build/sign jobs are kept (no-telemetry linux
  variants, not s390x-only).
- build-cockroach-release-per-platform.sh reverted to
  'publish-provisional-artifacts -provisional -release' — release-24.3
  predates the publish-artifacts rename + release subcommand split.
- build-cockroach-release-per-platform.sh restores the
  '--build-arg fips_enabled=1' branch for the FIPS docker image;
  the release-24.3 build/deploy/Dockerfile gates FIPS package
  installation on this arg.
- make-and-publish-* TC-only nightly scripts reverted to 24.3
  originals — they aren't on the GHA call path.

Release justification: release-tooling backport for GHA migration.

Epic: none
Release note: None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Label PR's that are backports to older release branches T-code-systems

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants