Skip to content

Feature/update build automation#16

Open
alexlovelltroy wants to merge 3 commits into
mainfrom
feature/update-build-automation
Open

Feature/update build automation#16
alexlovelltroy wants to merge 3 commits into
mainfrom
feature/update-build-automation

Conversation

@alexlovelltroy
Copy link
Copy Markdown
Member

@alexlovelltroy alexlovelltroy commented May 20, 2026

Description

This pull request modernizes and improves the project's CI/CD workflows and release configuration. The main focus is on updating GitHub Actions to their latest versions, refactoring Docker image build and release processes, and introducing a new workflow for building and publishing the ipmi-sim component. Additionally, the release configuration is updated to use the latest best practices and to improve changelog grouping.

CI/CD Workflow Updates:

  • Updated all GitHub Actions in workflow files (such as actions/checkout, actions/setup-go, docker/login-action, goreleaser/goreleaser-action, etc.) to their latest major versions for improved security, stability, and features.

  • Added a new workflow, .github/workflows/build_ipmi_sim.yaml, to build and publish the ipmi-sim Docker image when relevant files change or on manual dispatch. This workflow uses the latest Docker build and metadata actions and reads the version from ipmi_sim/VERSION. [1] [2]

Release Configuration Improvements:

  • Refactored .goreleaser.yaml to use dockers_v2 for Docker image builds, simplifying image/tag definitions and annotations, and removed the old dockers and docker_manifests sections. This aligns the release process with current GoReleaser best practices.

  • Enhanced the changelog configuration in .goreleaser.yaml to use GitHub as the source and to group entries by features, bug fixes, and others, while filtering out less relevant commit types.

Build System Improvements:

  • Updated the Dockerfile to use the TARGETPLATFORM build argument, enabling multi-platform builds and making the image build process more flexible and future-proof.

Other:

  • Bumped the version in ipmi_sim/VERSION to 0.1.0 to support the new build and publish workflow.

Checklist

  • My code follows the style guidelines of this project
  • I have added/updated comments where needed
  • I have added tests that prove my fix is effective or my feature works
  • I have run make test (or equivalent) locally and all tests pass
  • DCO Sign-off: All commits are signed off (git commit -s) with my real name and email
  • REUSE Compliance:
    • Each new/modified source file has SPDX copyright and license headers
    • Any non-commentable files include a <filename>.license sidecar
    • All referenced licenses are present in the LICENSES/ directory

Type of Change

  • Chore
  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

For more info, see Contributing Guidelines.

…kout, and golangci-lint

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
…ild automation

dockers + docker_manifests → dockers_v2 — replaces ~65 lines of architecture-specific image templates + separate manifest declarations with a single 29-line block. GoReleaser now runs one docker buildx build that builds and pushes the manifest atomically. ARM support later is a one-line addition to platforms. OCI labels move from --label=… strings into a proper annotations map.

changelog.use: github — uses GitHub's compare API to append @handle attribution on each release note entry, which is meaningful for an open-source project. Adds groups for structured release notes: Features / Bug Fixes / Others, using conventional-commit patterns. Also excludes chore: commits alongside the existing docs: and test:.

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
@alexlovelltroy alexlovelltroy requested review from cjh1 and rainest May 20, 2026 02:15
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