Files
github-action/docs/milestones/mil-003-quality-checks.md
T
Tirsvad f8879fcf06
Validate workflows / validate (pull_request) Successful in 14s
Resolve pending commit links in MIL-003, RC-033 and TM-001
2026-10-10 13:32:31 +08:00

4.5 KiB

MIL-003: Shared quality checks

Metadata

Key Value
ID MIL-003
CrossReference BC-001, ADR-0002

Version History

Date Status Author Reviewer Change Commit
2026-10-10 Deprecated Jens Tirsvad Nielsen S01 Target date 2026-11-14 confirmed on 2026-10-10 by S01 (stand-in for S05) ea06eaa
2026-10-10 Accepted Jens Tirsvad Nielsen S01 Task 1 verified: workflow_call and uses work from the same repository, the same organization and another organization (RC-033) b3f006f

Purpose

Decide whether a software engineer can run the same quality checks on any TirSystem project through a shared workflow.

Deliverable

A reusable quality-check workflow for Python and shell, used by at least one other repository, and a guide for reading its results.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 The instance supports reusable workflows (workflow_call), verified and recorded Verified Unsupported (re-plan as a copied template)
2 One other repository runs the workflow and its status check appears on pull requests Appears Does not run
3 A failing check shows the tool, file and message in the log Verified with a seeded failure Cause not visible
4 Inputs and defaults are documented Documented Missing

Dependencies

Depends on Reason
MIL-002 Uses the onboarding guide and runner list

Traceability

Business Case objective / KPI / user story Reference
O4 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S05
Approving reviewer S01

Target Date

2026-11-14 — confirmed on 2026-10-10 by S01, standing in for S05 (ADR-0002); the Business Case sets no deadline.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Verify reusable workflow support Check whether this Gitea version supports workflow_call and cross-repository uses; if not, choose a copied template instead. Verified on 2026-10-10: supported, so no copied template is needed (see Verification results). No Verification results
2 Define the quality-check contract Decide the inputs (language, tool versions, working directory) and what a pass and a fail mean. Start with Python and shell. This is something an engineer does, so it needs a use case first. Yes Use case candidate: run project quality checks
3 Implement the reusable quality workflow Create the workflow in the canonical location with pinned tool versions and least-privilege permissions. No
4 Adopt it in one other repository Onboard a real project and fix the gaps in the guide that appear. No
5 Write the guide for reading results Explain status checks, logs and typical fixes so an engineer can make a failing check pass. No

Verification results

Task 1 was run on 2026-10-10 on the instance (Gitea 1.27.3) with a throwaway branch, verify-reusable-workflows, in TirSystem/github-action. The called workflow declared on: workflow_call with one input and printed it; the callers used jobs.<job_id>.uses. All branches were deleted afterwards.

Call Caller Result
uses: ./.gitea/workflows/reuse-callee.yml TirSystem/github-action (same repository) Called job ran; input received
uses: TirSystem/github-action/.gitea/workflows/reuse-callee.yml@<branch> TirSystem/github-action Called job ran; input received
the same, from another repository of the organization TirSystem/sqa-qc-checklists Called job ran; gitea.repository was the caller
the same, from a repository of another organization TirSystem-BashScript/RepoFoundry Called job ran; gitea.repository was the caller

What the test did not cover: a provider repository that is private (the provider here is public), passing secrets to a called workflow (secrets: or secrets: inherit), and a reference by tag instead of a branch. The quality checks of this milestone need none of the secrets; a private provider and tag references are for the release milestone (MIL-004).