Skip to content

ci: add release workflows#11

Merged
ianlewis merged 7 commits intomainfrom
8-docker-build-ci-workflow
Feb 3, 2026
Merged

ci: add release workflows#11
ianlewis merged 7 commits intomainfrom
8-docker-build-ci-workflow

Conversation

@ianlewis
Copy link
Contributor

@ianlewis ianlewis commented Jan 30, 2026

  • Add pull request check for building the Docker image
  • Add release workflow to
    • build and push the Docker image
    • publish release binaries

The release steps are written in RELEASE.md. With immutable releases, the release cannot be updated after it is published. So we will use the following steps:

  1. Create semver tag locally and push.
  2. Release workflow is run automatically. A new draft release is created with attached binary, and a new Docker image is pushed.
  3. Update the release description.
  4. Publish the release (no changes possible after this point)

Fixes #8

@ianlewis ianlewis linked an issue Jan 30, 2026 that may be closed by this pull request
@ianlewis

This comment was marked as resolved.

@ianlewis ianlewis changed the title ci: add Docker build workflows ci: add release workflows Jan 30, 2026
Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
@ianlewis ianlewis force-pushed the 8-docker-build-ci-workflow branch from 90f4c9a to 5d27f9f Compare February 2, 2026 04:53
@ianlewis ianlewis marked this pull request as ready for review February 2, 2026 04:56
@ianlewis ianlewis requested a review from Copilot February 2, 2026 04:56
Copy link

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 CI/CD workflows for building and releasing the project, including pull request checks and automated release publishing with immutable releases.

Changes:

  • Added GitHub Actions workflows for Docker image builds on pull requests and releases
  • Updated build configuration to support multi-architecture binary builds
  • Documented the release process for using GitHub's immutable releases

Reviewed changes

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

Show a summary per file
File Description
RELEASE.md Documents the release workflow process for immutable releases
Makefile Updates build command to compile static binaries with platform-specific naming
Dockerfile Updates Go version from 1.24 to 1.25
.github/workflows/release.publish.yml Implements automated release workflow for building/publishing Docker images and binaries
.github/workflows/pull_request.build.yml Adds PR check workflow for validating Docker image builds

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
@ianlewis ianlewis requested a review from Ladicle February 2, 2026 04:59
@ianlewis
Copy link
Contributor Author

ianlewis commented Feb 2, 2026

@Ladicle よろしくお願いします!

Copy link
Contributor

@Ladicle Ladicle left a comment

Choose a reason for hiding this comment

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

Overall, this looks great! Just one minor comment from my side!

- name: Build binary
run: make build

- name: Upload binary
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm wondering if we need to upload binary files here. Other pfnet k8s-related repos only upload their container images. Most users use a container image directly. If needed, they can extract binaries from the container image.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, my thought was it would be easier to download the binary when using with other images as the base. But they could extract it from the container image using multi-stage builds.

In the case of ns-reloader, I think extracting it might actually be the most common use-case.

I'll go ahead and remove this, and we can add it back if needed later.

Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
Signed-off-by: Ian Lewis <ianlewis@preferred.jp>
@ianlewis ianlewis merged commit 2418955 into main Feb 3, 2026
2 checks passed
@ianlewis ianlewis deleted the 8-docker-build-ci-workflow branch February 4, 2026 01:26
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.

CI release workflow

3 participants