Skip to content

Remove years from existing license headers - #779

Merged
friegger merged 1 commit into
ironcore-dev:mainfrom
sap-contributions:chore/778-remove-years-from-license-headers
Sep 9, 2026
Merged

friegger merged 1 commit into
ironcore-dev:mainfrom
sap-contributions:chore/778-remove-years-from-license-headers

Conversation

@friegger

@friegger friegger commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Update all tracked code files, REUSE.toml, hack/license-header.txt and hack/boilerplate.go.txt to use the year-free SPDX copyright text.

addlicense does not rewrite files that already contain an SPDX license marker, so existing year-bearing SPDX-FileCopyrightText headers were rewritten in-place via sed. No dedicated automation step is required.

Fixes #778

Summary by CodeRabbit

  • Documentation
    • Updated copyright notices across project files to use year-independent SPDX attribution.
    • Retained the Apache-2.0 license identifiers.
    • No user-facing functionality or runtime behavior has changed.

Update all tracked code files, REUSE.toml, hack/license-header.txt and
hack/boilerplate.go.txt to use the year-free SPDX copyright text.

addlicense does not rewrite files that already contain an SPDX license
marker, so existing year-bearing SPDX-FileCopyrightText headers were
rewritten in-place via sed. No dedicated automation step is required.

Fixes ironcore-dev#778

Signed-off-by: Felix Riegger <felix.riegger@sap.com>
@friegger
friegger requested a review from a team as a code owner September 8, 2026 12:04
@github-actions github-actions Bot added the chore label Sep 8, 2026
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 06a753b0-890d-4ac8-a33a-4266a1163fb7

📥 Commits

Reviewing files that changed from the base of the PR and between c4f13ff and a19ab2f.

📒 Files selected for processing (91)
  • REUSE.toml
  • api/apiutils.go
  • api/common_types.go
  • api/machine.go
  • cmd/libvirt-provider/app/app.go
  • cmd/libvirt-provider/app/option_types.go
  • cmd/libvirt-provider/main.go
  • hack/boilerplate.go.txt
  • hack/license-header.txt
  • internal/console/server.go
  • internal/console/server_test.go
  • internal/controllers/controllers_suite_test.go
  • internal/controllers/machine_controller.go
  • internal/controllers/machine_controller_gpus.go
  • internal/controllers/machine_controller_gpus_test.go
  • internal/controllers/machine_controller_nics.go
  • internal/controllers/machine_controller_test.go
  • internal/controllers/machine_controller_volumes.go
  • internal/healthcheck/health_check.go
  • internal/host/host.go
  • internal/libvirt/guest/guest.go
  • internal/libvirt/meta/meta.go
  • internal/libvirt/meta/meta_suite_test.go
  • internal/libvirt/meta/meta_test.go
  • internal/libvirt/utils/libvirtutils.go
  • internal/mcr/registry.go
  • internal/networkinterfaceplugin/apinet.go
  • internal/networkinterfaceplugin/isolated.go
  • internal/networkinterfaceplugin/libvirt.go
  • internal/networkinterfaceplugin/options.go
  • internal/osutils/osutils.go
  • internal/plugins/networkinterface/apinet/apinet.go
  • internal/plugins/networkinterface/isolated/isolated.go
  • internal/plugins/networkinterface/plugins.go
  • internal/plugins/networkinterface/providernetwork/providernetwork.go
  • internal/plugins/volume/ceph/ceph.go
  • internal/plugins/volume/localdisk/localdisk.go
  • internal/plugins/volume/plugins.go
  • internal/raw/dummy.go
  • internal/raw/raw.go
  • internal/raw/raw_exec.go
  • internal/server/common.go
  • internal/server/event_list.go
  • internal/server/exec.go
  • internal/server/integration/event_list_test.go
  • internal/server/integration/exec_test.go
  • internal/server/integration/machine_annotations_update_test.go
  • internal/server/integration/machine_create_test.go
  • internal/server/integration/machine_delete_test.go
  • internal/server/integration/machine_list_test.go
  • internal/server/integration/machine_networkinterface_attach_test.go
  • internal/server/integration/machine_networkinterface_detach_test.go
  • internal/server/integration/machine_powerstate_update_test.go
  • internal/server/integration/machine_volume_attach_test.go
  • internal/server/integration/machine_volume_detach_test.go
  • internal/server/integration/machine_volume_update_test.go
  • internal/server/integration/server_integration_suite_test.go
  • internal/server/integration/status_test.go
  • internal/server/machine.go
  • internal/server/machine_annotations_update.go
  • internal/server/machine_annotations_update_test.go
  • internal/server/machine_create.go
  • internal/server/machine_create_test.go
  • internal/server/machine_delete.go
  • internal/server/machine_delete_test.go
  • internal/server/machine_list.go
  • internal/server/machine_list_test.go
  • internal/server/machine_networkinterface_attach.go
  • internal/server/machine_networkinterface_attach_test.go
  • internal/server/machine_networkinterface_detach.go
  • internal/server/machine_networkinterface_detach_test.go
  • internal/server/machine_powerstate_update.go
  • internal/server/machine_powerstate_update_test.go
  • internal/server/machine_volume_attach.go
  • internal/server/machine_volume_attach_test.go
  • internal/server/machine_volume_detach.go
  • internal/server/machine_volume_detach_test.go
  • internal/server/machine_volume_update.go
  • internal/server/server.go
  • internal/server/server_suite_test.go
  • internal/server/status.go
  • internal/server/version.go
  • internal/server/version/version.go
  • internal/strategy/strategy.go
  • internal/sync/sync.go
  • internal/sync/sync_suite_test.go
  • internal/sync/sync_test.go
  • internal/utils/claims.go
  • internal/utils/claims_test.go
  • internal/utils/utils.go
  • internal/utils/utils_suite_test.go

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The pull request replaces year-specific SPDX copyright text with year-free SAP SE and IronCore contributor attribution in REUSE metadata, templates, production files, and tests. SPDX license identifiers and runtime behavior remain unchanged.

Changes

Copyright header migration

Layer / File(s) Summary
Repository annotations and header templates
REUSE.toml, hack/*
REUSE annotations and reusable license header templates now use year-free copyright attribution.
Production source headers
api/*, cmd/libvirt-provider/*, internal/{console,controllers,healthcheck,host,libvirt,mcr,networkinterfaceplugin,osutils,plugins,raw,server,strategy,sync,utils}/*
Production Go files replace year-specific SPDX copyright headers.
Test source headers
internal/**/*_test.go
Unit, suite, and integration test files replace year-specific SPDX copyright headers.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to a19ab

This updates repository copyright notices to year-free SPDX attribution without changing application behavior or licensing identifiers. No current merge-readiness risk remains.

Suggested reviewers: adracus

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The changes remove year values from the reported SPDX copyright headers, preserve the SPDX license identifiers, and document the sed-based rewrite process. The provided context does not confirm that m… Provide evidence that make check-license passes after the header migration, such as the command output from the updated changeset.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: removing years from existing license headers.
Description check ✅ Passed The description explains the header migration, the tooling limitation, the rewrite method, and the linked issue. It does not use the template headings, but it provides the required information.
Out of Scope Changes check ✅ Passed The changes are limited to SPDX copyright header updates in tracked files, REUSE.toml, and the license header templates. These changes match issue #778 and contain no unrelated functional changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 5…
Full details: Linked Issues check

Explanation

The changes remove year values from the reported SPDX copyright headers, preserve the SPDX license identifiers, and document the sed-based rewrite process. The provided context does not confirm that make check-license passes.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hardikdr hardikdr added this to Roadmap Sep 9, 2026
@friegger
friegger merged commit b247781 into ironcore-dev:main Sep 9, 2026
13 checks passed
@github-project-automation github-project-automation Bot moved this to Done in Roadmap Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Remove years from existing Go license headers

3 participants