Skip to content

CI: run the CNTi essential tests and show the result as a badge - #280

Open
martin-mat wants to merge 1 commit into
coredns:masterfrom
martin-mat:cnti-cert-badge
Open

martin-mat wants to merge 1 commit into
coredns:masterfrom
martin-mat:cnti-cert-badge

Conversation

@martin-mat

Copy link
Copy Markdown
Contributor

Why is this pull request needed and what does it do?

Adds the nightly CNTi cert check and badge proposed in #279. A workflow installs the chart with its defaults on a kind cluster of a control plane and two workers, runs the CNTi Test Suite's cert tests against it with lfn-cnti/testsuite-action, and shows the result as a badge at the top of the chart's README.

  • .github/workflows/cnti.yml:
    • cert runs nightly and by hand on master. It's the only job that publishes the badge, to the orphan branch badges, and the only one with a write token.
    • cert-pr runs the same steps read-only on pull requests that change the job or its configuration, and on manual runs of other branches. Chart changes don't trigger it.
    • Both jobs run only in coredns/helm, so forks that enable scheduled workflows don't run them.
    • The suite is pinned to v2.2.0 and the action to v1.1.0.
  • .github/cnti/cnti-testsuite.yaml: the suite's configuration. The chart is installed with its defaults; the only settings are the released image tags the rolling update and rollback tests move to (1.14.4, 1.13.2).
  • charts/coredns/README.md: the badge, which also shows on GitHub through the root README.md link and on Artifact Hub.
  • charts/coredns/Chart.yaml: 1.48.3, with the changelog entry.

Tested on martin-mat/coredns-helm-chart, with the repository guard pointed at the fork:

Case Run Result
Manual run on master 37212923769 cert with a write token: 17 of 19, 5 min, badge published
Pull request changing .github/cnti/ 37212934158 cert-pr with a read-only token: 17 of 19, nothing published
Pull request changing only the chart no run
This diff against master, with the repository's own Lint and Test Charts 37214055464 helm unit tests, ct lint and ct install pass

The two tests that don't pass, specialized_init_system and zombie_handled, follow from CoreDNS being a single binary that runs as PID 1; #279 explains them.

Which issues (if any) are related?

Closes #279.

Checklist:

  • I have bumped the chart version according to versioning.
  • I have updated the chart changelog with all the changes that come with this pull request according to changelog.
  • Any new values are backwards compatible and/or have sensible default.
  • I have signed off all my commits as required by DCO.

🤖 Generated with Claude Code

A workflow that installs the chart with its defaults on a kind cluster
of a control plane and two workers, runs the CNTi Test Suite's cert
tests against it with lfn-cnti/testsuite-action, and shows the result
as a badge in the README.

- Nightly and by hand on master: the only runs that publish the badge,
  to the orphan branch badges, and the only ones with a write token.
- Pull requests that change the job or its configuration, and manual
  runs on other branches: the same steps with a read-only token.
- .github/cnti/cnti-testsuite.yaml: the suite's configuration, with
  the released tags the rolling update and rollback tests move to.
- The badge at the top of the chart's README (README.md at the root
  links to it), so it shows on GitHub and on Artifact Hub; chart
  version 1.48.3 for the README change.

The suite version is pinned so a run is reproducible and a release is
adopted on purpose. A run takes about 5 minutes.

Signed-off-by: Martin Matyas <martin.matyas@tieto.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@martin-mat martin-mat changed the title CI: run the CNTi cert tests and show the result as a badge CI: run the CNTi essential tests and show the result as a badge Oct 10, 2026
@martin-mat

Copy link
Copy Markdown
Contributor Author

Updated for a naming change from LF Networking: the badge is evidence a project produces itself from the suite's essential test set, not a certification, so it now reads CNTi essential (e.g. CNTi essential 17/19) instead of "CNTi cert". In this PR the workflow name, job names and badge text follow, and the action is at v1.2.0, which carries the label. The tests: cert input is unchanged. Nothing else in the PR changed.

This branch has not been deployed

No deployments
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.

Proposal: a nightly CNTi cert check and badge for the CoreDNS chart

1 participant