Skip to content

ci: replace workflows with a full PR and release pipeline - #35

Open
lexfrei wants to merge 3 commits into
masterfrom
ci/port-pipeline
Open

lexfrei wants to merge 3 commits into
masterfrom
ci/port-pipeline

Conversation

@lexfrei

@lexfrei lexfrei commented Sep 28, 2026

Copy link
Copy Markdown
Collaborator

This replaces the single pre-commit job with a PR pipeline and reworks the release workflow.

PR checks run cargo fmt, clippy with warnings denied, cargo test, markdownlint, actionlint and shellcheck, a Trivy filesystem scan, and helm lint plus chart-testing. Once they pass, every PR gets amd64 and arm64 images and a chart on ttl.sh. A second workflow, started by workflow_run, comments on the PR with a digest-pinned pull command and uploads the Trivy results to code scanning. It always runs from master, so it starts working only after this PR is merged.

The release workflow still starts from a published GitHub release. The image is now built for amd64 and arm64 on native runners, so arm64 is back without the QEMU build time. The image and the chart are signed with cosign, and the chart tarball is attached to the release.

Two commits clean up what the new lint jobs would fail on: 21 clippy warnings from the pedantic and nursery groups, and markdownlint findings in the README and the tutorial.

One thing to decide before the next release: the chart version now comes from the release tag. Every release so far published the chart as 0.1.3, so a 0.1.1 chart would sort below it and helm install without --version would keep picking 0.1.3. Making the next release 0.2.0 avoids that.

The crate enables the pedantic and nursery lint groups, and their
warnings had accumulated. Clearing them lets CI treat any new clippy
warning as an error.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Add a markdownlint configuration and fix what it reports in the README
and the tutorial: repeated blank lines, a code block without a
language, and tutorial headings that skipped a level.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
PR checks now cover formatting, clippy with warnings denied, tests,
markdownlint, actionlint and shellcheck, a Trivy scan, and chart linting.
Every PR also gets amd64 and arm64 images and a chart on ttl.sh, and a
follow-up workflow comments on the PR with a digest-pinned pull command
and uploads the scan results from the base repository's context.

Releases keep the GitHub release trigger. Images are built for amd64 and
arm64 on native runners, which removes the emulation cost that had kept
arm64 out, and both the image and the chart are signed with cosign. The
chart version now follows the release tag instead of staying fixed.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
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