Skip to content

tools: Add releaser for helping manage and automate the release process #3458

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 1 commit into
base: main
Choose a base branch
from

Conversation

joaquimrocha
Copy link
Contributor

Over the past releases, I have been adding changes to this branch and testing it. Yet with the move to kubernetes-sigs maybe a few things may be broken. Let's still try to get it in and fix them afterwards if it happens.

Signed-off-by: Joaquim Rocha <joaquim.rocha@microsoft.com>
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: joaquimrocha

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot requested review from skoeva and vyncent-t June 9, 2025 16:00
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 9, 2025
@illume illume requested a review from Copilot June 17, 2025 08:51
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 pull request introduces a new releaser tool to help manage and automate the release process for Headlamp. Key changes include adding TypeScript configuration, utility modules for version handling and GitHub interactions, and multiple CLI commands (check, start, tag, publish) to manage various release steps.

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tools/releaser/tsconfig.json New TypeScript configuration for the releaser tool
tools/releaser/src/utils/version.ts Utility for sanitizing version strings with warning messages
tools/releaser/src/utils/github.ts Utility functions for GitHub API interactions used in release management
tools/releaser/src/utils/git.ts Utility functions for performing Git operations
tools/releaser/src/index.ts CLI entry point that wires up command definitions
tools/releaser/src/commands/tag.ts Command to create Git tags for releases
tools/releaser/src/commands/start.ts Command to update version in package.json and commit changes
tools/releaser/src/commands/publish.ts Command to push tags, associate them to release drafts, and publish releases
tools/releaser/src/commands/check.ts Command to validate that a release draft exists with all required artifacts
tools/releaser/package.json Package manifest detailing dependencies and build scripts
tools/releaser/.gitignore Git ignore file (ignoring built files)

repo: REPO
});

const draft = releases.find(release => release.name === version);
Copy link
Preview

Copilot AI Jun 17, 2025

Choose a reason for hiding this comment

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

Matching the release using the 'name' property may lead to issues if the naming convention does not strictly match the version. Consider using 'tag_name' for comparison or ensure that release names are always set to the version string.

Suggested change
const draft = releases.find(release => release.name === version);
const draft = releases.find(release => release.tag_name === version);

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
Development

Successfully merging this pull request may close these issues.

2 participants