Skip to content

feat(chart): 📝 version support with annotations - #1791

Merged
traefiker merged 9 commits into
traefik:v40.0from
darkweaver87:feat/release-version-support
Apr 23, 2026
Merged

feat(chart): 📝 version support with annotations#1791
traefiker merged 9 commits into
traefik:v40.0from
darkweaver87:feat/release-version-support

Conversation

@darkweaver87

@darkweaver87 darkweaver87 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Declares supported Traefik Proxy and Hub version ranges as Chart.yaml annotations
(traefik.io/proxy-min-version, proxy-max-version, hub-min-version, hub-max-version),
replacing hardcoded values in templates.

Motivation

Fixes #1758

More

  • Yes, I updated the tests accordingly
  • Yes, I updated the schema accordingly
  • Yes, I ran make test and all the tests passed

@darkweaver87 darkweaver87 changed the title feat(chart): centralize version support in Chart.yaml annotations feat(chart): 📝 centralize version support in Chart.yaml annotations Apr 10, 2026
@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch 3 times, most recently from f434cc7 to 15291dd Compare April 10, 2026 14:40
@mloiseleur mloiseleur changed the title feat(chart): 📝 centralize version support in Chart.yaml annotations feat(chart): 📝 centralize version support in Chart annotations Apr 22, 2026
@mloiseleur mloiseleur changed the title feat(chart): 📝 centralize version support in Chart annotations feat(chart): 📝 centralize version support in annotations Apr 22, 2026
@mloiseleur mloiseleur changed the title feat(chart): 📝 centralize version support in annotations feat(chart): 📝 centralize version support with annotations Apr 22, 2026
@mloiseleur mloiseleur changed the title feat(chart): 📝 centralize version support with annotations feat(chart): 📝 explicit version support with annotations Apr 22, 2026
@mloiseleur mloiseleur changed the title feat(chart): 📝 explicit version support with annotations feat(chart): 📝 clear version support with annotations Apr 22, 2026
@mloiseleur mloiseleur changed the title feat(chart): 📝 clear version support with annotations feat(chart): 📝 version support with annotations Apr 22, 2026

@mloiseleur mloiseleur left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

First review.

  1. Changelog is not updated as expected.
  2. Tests on notes.txt will probably annoy us. Wdyt of reducing and/or simplifying them ?

@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch from 5c84045 to 72c0ad7 Compare April 22, 2026 12:37
@darkweaver87
darkweaver87 changed the base branch from master to v40.0 April 22, 2026 12:37
@darkweaver87 darkweaver87 reopened this Apr 22, 2026
@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch from 72c0ad7 to 4c0a34d Compare April 22, 2026 12:56
@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch from 4c0a34d to 2f35b27 Compare April 22, 2026 13:27
@darkweaver87
darkweaver87 requested a review from mloiseleur April 22, 2026 13:38
@darkweaver87

darkweaver87 commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the revie @mloiseleur. Here my changes to address your comments:

  • test-changelog.yaml: populate VERSION_SUPPORT so the fixture gets the ## 👌 Traefik version support section.
  • changelog.json: bump max_pull_requests 300 → 500 (the tag window holds 352 PRs, docs: 📚️ fix typo in Guidelines.md #1320 was being cut off — example failing run).
  • hack/test.sh: copy chart to /tmp and pin version-support annotations there, decoupling tests from the real ranges. Same pin in test-changelog.
  • Drop 3 redundant "no-warning when in range" NOTES tests.
  • Rebased onto v40.0; Chart.yaml annotations adjusted (proxy-max v3.7.0-rc.1, hub-min v3.19.3, hub-max v3.20.0-rc.1).

Comment thread .github/workflows/release.yaml Outdated
@darkweaver87
darkweaver87 requested a review from mloiseleur April 22, 2026 15:07
@mloiseleur

Copy link
Copy Markdown
Member

changelog.json: bump max_pull_requests 300 → 500 (the tag window holds 352 PRs,

That seems very high. We have between 2 and 20 PRs for a single release.
And it looks like we would have to increase it even more in a year or two.
🤔 Wdyt about adding a date filter ? Do we have any other better option, like starting from the previous tag ?

Comment thread .github/workflows/release.yaml Outdated
@darkweaver87
darkweaver87 requested a review from mloiseleur April 23, 2026 06:19
@darkweaver87

Copy link
Copy Markdown
Contributor Author

changelog.json: bump max_pull_requests 300 → 500 (the tag window holds 352 PRs,

That seems very high. We have between 2 and 20 PRs for a single release. And it looks like we would have to increase it even more in a year or two. 🤔 Wdyt about adding a date filter ? Do we have any other better option, like starting from the previous tag ?

fetchViaCommits: true seems to fix our issue :-)

Comment thread .github/workflows/changelog.json Outdated
Comment thread .github/fixtures/changelog-traefik.md Outdated
Comment thread hack/test.sh Outdated
set -e

/usr/bin/helm unittest --color ./traefik
# Test against a copy of the traefik chart with pinned version-support

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems a bit excessive to copy everything when we need here to set specific value for consistent test.
Wdyt about:

  1. Open an issue on https://github.com/helm-unittest/helm-unittest about the capacity to set this kind of field
  2. Explore if we can use postRenderer to avoid this
  3. Use helm plugin install of docker, so it could at least be done in place, by saving current values and restoring them afterwards (example here)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

  1. yes this is the long-term response to this problem
  2. postRenderer transforms the output but not the evaluation of templates (cf. https://github.com/helm-unittest/helm-unittest/blob/main/pkg/unittest/test_job.go#L491; TLDR if statements are evaluated at rendering time)
  3. done in 0fcd9c8

@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch 3 times, most recently from 50e4ed3 to 69f5105 Compare April 23, 2026 08:53
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
@darkweaver87
darkweaver87 force-pushed the feat/release-version-support branch from 69f5105 to 77f8e45 Compare April 23, 2026 09:11
@darkweaver87
darkweaver87 requested a review from mloiseleur April 23, 2026 09:25
@traefiker
traefiker merged commit c3d88b5 into traefik:v40.0 Apr 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/cicd kind/enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Traefik versions supported in release notes template

3 participants