Skip to content

feat: reusable workflow call-techdocs (build TechDocs in CI, publish to MinIO) - #219

Merged
patrick-hermann-sva merged 1 commit into
mainfrom
feat/call-techdocs
Oct 18, 2026
Merged

patrick-hermann-sva merged 1 commit into
mainfrom
feat/call-techdocs

Conversation

@patrick-hermann-sva

Copy link
Copy Markdown
Contributor

What

New call-techdocs.yaml. It builds a repo's Backstage TechDocs with the Dagger module techdocs (stuttgart-things/dagger#425, released as v0.138.0). With publish: true it uploads the docs to S3/MinIO, for a Backstage running techdocs.builder: external (stuttgart-things/flux#732).

Steps:

  1. Entity: dagger call … entity reads <namespace>/<kind>/<name> from catalog-info.yaml, or takes inputs.entity. It also runs on PRs, so a missing or duplicate techdocs-ref fails early.
  2. Build: generate … export --path ./techdocs-site, then checks that techdocs_metadata.json exists.
  3. Publish (only with publish: true): uploads the exported site, so what was built is exactly what gets published. The CA comes in as an optional PEM input, for the Vault PKI.

Defaults: runs-on: dagger-labda (the lab MinIO cannot be reached from GitHub-hosted runners), bucket: techdocs. The secrets TECHDOCS_S3_ACCESS_KEY / _SECRET_KEY are only needed for publishing. Dagger is called with raw dagger call (as in call-dagger-ko-build.yaml), so the entity can be passed cleanly between steps.

README: a usage block (build on PRs, publish on main).

Tests

  • actionlint 1.7.7: clean.
  • The module itself: entity and generate ran through the Dagger engine in the smoke test in dagger#425; publish was tested locally against S3 (moto).
  • Not yet tested: a real run of this workflow. That comes with the first pilot repo (flux), once the MinIO bucket, the users and the secrets exist.

Generated by Claude Code

…to MinIO)

Builds a repo's Backstage TechDocs with the techdocs Dagger module
(v0.138.0): the entity is read from catalog-info.yaml, the site is
generated and exported, and with publish: true uploaded to an
S3/MinIO bucket for a Backstage running techdocs.builder: external.
PRs call it with publish: false, so a broken mkdocs.yml fails the PR.
Defaults to the dagger-labda runners, which reach the lab MinIO; a
private CA comes in as a PEM input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013V2i6bap7BGa4ZMJRjBEAP
@patrick-hermann-sva
patrick-hermann-sva merged commit 9ff28bd into main Oct 18, 2026
1 check passed
@patrick-hermann-sva
patrick-hermann-sva deleted the feat/call-techdocs branch October 18, 2026 08:02

This branch was successfully deployed

1 active deployment
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.

2 participants