Skip to content

Conversation

@felix-kaestner
Copy link
Contributor

@felix-kaestner felix-kaestner commented Feb 4, 2026

With this PR we stop using go-makefile-maker for GitHub Actions workflow generation. With recent additions of custom workflows, maintaining consistency between auto-generated and manually written pipelines became impractical. The effort to update all workflows already requires reviewing each one, so auto-generation provides diminishing value. Additionally, some generated workflows like CodeQL are redundant (enabled at repo level) while others like test-chart or publishing the docker image to ghcr.io required manual modifications anyway.

Going forward, all workflows will be manually maintained for this project, providing full control over CI/CD configuration.

@felix-kaestner felix-kaestner changed the title Refactor GitHub Actions Workflows Refactor GitHub Actions Workflows Feb 4, 2026
@felix-kaestner felix-kaestner force-pushed the refactor-actions branch 5 times, most recently from 0d74501 to c16b734 Compare February 4, 2026 23:14
@hardikdr hardikdr added the area/metal-automation Automation processes within the Metal project. label Feb 5, 2026
@hardikdr hardikdr added this to Roadmap Feb 5, 2026
@felix-kaestner felix-kaestner force-pushed the refactor-actions branch 2 times, most recently from dddf821 to 9ad8003 Compare February 11, 2026 10:50
@felix-kaestner felix-kaestner changed the base branch from main to pause February 11, 2026 10:51
@github-actions
Copy link

Merging this branch changes the coverage (2 decrease, 1 increase)

Impacted Packages Coverage Δ 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1 0.00% (ø)
github.com/ironcore-dev/network-operator/cmd 0.00% (ø)
github.com/ironcore-dev/network-operator/internal/annotations 100.00% (+100.00%) 🌟
github.com/ironcore-dev/network-operator/internal/controller/cisco/nx 63.00% (-1.48%) 👎
github.com/ironcore-dev/network-operator/internal/controller/core 65.95% (-0.76%) 👎

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1/device_types.go 0.00% (ø) 0 0 0
github.com/ironcore-dev/network-operator/api/core/v1alpha1/groupversion_info.go 0.00% (ø) 0 0 0
github.com/ironcore-dev/network-operator/cmd/main.go 0.00% (ø) 0 0 0
github.com/ironcore-dev/network-operator/internal/annotations/annotations.go 100.00% (+100.00%) 4 (+4) 4 (+4) 0 🌟
github.com/ironcore-dev/network-operator/internal/controller/cisco/nx/bordergateway_controller.go 51.14% (-0.71%) 219 (+3) 112 107 (+3) 👎
github.com/ironcore-dev/network-operator/internal/controller/cisco/nx/system_controller.go 64.65% (-0.98%) 99 (+3) 64 (+1) 35 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/cisco/nx/vpcdomain_controller.go 74.64% (-2.54%) 209 (+3) 156 (-3) 53 (+6) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/acl_controller.go 63.55% (-0.87%) 107 (+3) 68 (+1) 39 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/banner_controller.go 62.22% (-0.66%) 135 (+3) 84 (+1) 51 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/bgp_controller.go 63.55% (-0.87%) 107 (+3) 68 (+1) 39 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/bgp_peer_controller.go 71.53% (-0.81%) 144 (+3) 103 (+1) 41 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/certificate_controller.go 62.81% (-0.75%) 121 (+3) 76 (+1) 45 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/device_controller.go 63.98% (-0.78%) 211 (+1) 135 (-1) 76 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/dns_controller.go 63.46% (-0.89%) 104 (+3) 66 (+1) 38 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/evpninstance_controller.go 73.56% (-0.71%) 174 (+3) 128 (+1) 46 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/interface_controller.go 75.00% (-0.34%) 376 (+3) 282 (+1) 94 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/isis_controller.go 60.34% (-0.72%) 116 (+3) 70 (+1) 46 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/managementaccess_controller.go 56.20% (-0.58%) 121 (+3) 68 (+1) 53 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/ntp_controller.go 63.46% (-0.89%) 104 (+3) 66 (+1) 38 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/nve_controller.go 67.49% (-0.51%) 203 (+3) 137 (+1) 66 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/ospf_controller.go 58.50% (-1.22%) 147 (+3) 86 61 (+3) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/pim_controller.go 60.34% (-0.72%) 116 (+3) 70 (+1) 46 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/prefixset_controller.go 68.22% (-1.01%) 107 (+3) 73 (+1) 34 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/routingpolicy_controller.go 71.34% (-0.74%) 157 (+3) 112 (+1) 45 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/snmp_controller.go 63.46% (-0.89%) 104 (+3) 66 (+1) 38 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/syslog_controller.go 63.55% (-0.87%) 107 (+3) 68 (+1) 39 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/user_controller.go 60.74% (-0.62%) 135 (+3) 82 (+1) 53 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/vlan_controller.go 66.67% (-0.88%) 117 (+3) 78 (+1) 39 (+2) 👎
github.com/ironcore-dev/network-operator/internal/controller/core/vrf_controller.go 66.97% (-0.95%) 109 (+3) 73 (+1) 36 (+2) 👎

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Introduce a CI workflow that validates all kustomization.yaml files in
the config directory on pull requests to main. This ensures Kustomize
configurations remain valid and buildable.
Enhance the github action workflow with Go build caching, PR triggers
for validation builds, and tag-based releases. Images are only pushed
on main branch commits and version tags, while PRs only build without
pushing.

The introduced caching uses the experimental GitHub Actions Cache
Exporter Backend to fetch and upload cache blocks for the container
image build. Additionally, buildkit cache mounts are being preserved
between builds by injecting a temporary container with the cache mount
data in the Docker build steps. The procedure is outlined in the Docker
Documentation[^1].

[^1]: https://docs.docker.com/build/ci/github-actions/cache/#github-cache.
Introduce a workflow that automatically labels pull requests with size
indicators (XS, S, M, L, XL) based on lines changed. This helps
reviewers quickly assess PR scope and prioritize reviews.
Introduce a workflow that packages and pushes the Helm chart to ghcr.io
as an OCI artifact. Release tags use semantic versioning while branch
builds use commit-based versions. PRs only validate the chart package.
Introduce a workflow that runs code generation targets and detects any
uncommitted changes. This ensures generated code, docs, charts, and
formatting are always up to date in pull requests.
Stop using go-makefile-maker for GitHub Actions workflow generation.
With recent additions of custom workflows, maintaining consistency
between auto-generated and manually written pipelines became impractical.
The effort to update all workflows already requires reviewing each one,
so auto-generation provides diminishing value. Additionally, some
generated workflows like CodeQL are redundant (enabled at repo level)
while others like test-chart required manual modifications anyway.

Going forward, all workflows will be manually maintained for this
project, providing full control over CI/CD configuration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/metal-automation Automation processes within the Metal project.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants