Skip to content

feat: release candidate CI to allow for kokoro signing #3195

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

cabljac
Copy link
Contributor

@cabljac cabljac commented Jul 10, 2025

Implements a proper release candidate → final release workflow with signing integration points.

Key Changes

New RC Flow:

  • create_rc=true → Creates RC with unsigned binaries (marked as prerelease)
  • External signing process (Kokoro) replaces RC binaries with signed versions
  • promote_rc=true → Validates signed binaries exist, then promotes to final release

Workflow Safety:

  • Validates all expected signed binaries exist before promotion
  • Prevents incomplete releases with clear error messages
  • Only updates latest tag on final releases, not RCs

Process:

  1. Build & test unsigned binaries
  2. Create RC → upload unsigned binaries for testing
  3. Kokoro signs macOS/Windows binaries, replaces in RC release
  4. Promote RC → validates signatures, creates final release

@cabljac cabljac changed the title @invertase/genkit rc ci feat: release candidate CI to allow for kokoro signing Jul 10, 2025
@cabljac cabljac requested review from Ehesp and Copilot July 10, 2025 09:46
Copilot

This comment was marked as outdated.

@cabljac cabljac requested a review from Copilot July 10, 2025 09:52
Copilot

This comment was marked as outdated.

Base automatically changed from @invertase/cli-binary to main July 11, 2025 10:30
@cabljac cabljac force-pushed the @invertase/genkit-rc-ci branch from 3303425 to e07967a Compare July 15, 2025 15:03
@cabljac cabljac force-pushed the @invertase/genkit-rc-ci branch from d55d25c to cca6438 Compare July 21, 2025 05:45
#
# SPDX-License-Identifier: Apache-2.0

name: Sign Binaries (Manual)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pavelgj this is just an example, we could trigger kokoro automatically or some other flow

@cabljac cabljac requested a review from Copilot July 21, 2025 06:08
Copilot

This comment was marked as outdated.

@cabljac cabljac requested a review from Copilot July 21, 2025 10:52
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a comprehensive release candidate workflow that enables proper binary signing integration with Kokoro for the Genkit CLI. The workflow creates a safe two-stage release process where unsigned binaries are first published as a release candidate, then signed externally, and finally promoted to a stable release.

Key Changes

  • Added RC creation workflow that builds and publishes unsigned binaries for testing
  • Implemented external signing simulation process with validation
  • Created promotion workflow that validates signed binaries and creates final releases

Reviewed Changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 6 comments.

File Description
.github/workflows/build-cli-binaries.yml Enhanced to support RC creation with unsigned binaries and comprehensive testing
.github/workflows/sign-binaries-manual.yml New workflow for manual binary signing simulation with validation
.github/workflows/promote-cli-release.yml New workflow to promote signed RCs to final releases with safety checks
scripts/sign-and-upload-binaries.sh Shell script that simulates the external signing process and uploads signed binaries

@cabljac cabljac force-pushed the @invertase/genkit-rc-ci branch from ab9c2b9 to 58c4d3f Compare July 21, 2025 11:02
@cabljac cabljac force-pushed the @invertase/genkit-rc-ci branch from 58c4d3f to 1235e3a Compare July 21, 2025 12:06
@cabljac cabljac marked this pull request as ready for review July 21, 2025 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

1 participant