mirror of
https://github.com/sebastiandine/Card-Collection-Manager-3.git
synced 2026-08-28 17:01:02 +00:00
55ace147bc
* initial development * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * pokemon * pokemon * pokemon * pokemon * pokemon * pokemon * improvements * improvements * ci/cd * ci/cd * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements --------- Co-authored-by: sdine <sdine@sdine.com>
2.8 KiB
2.8 KiB
AGENTS.md
GitHub Actions workflows for CI, release automation, and policy checks.
Scope
- This file governs edits in
.github/workflows/*.yml. - Keep one top-level triggered workflow per CI intent:
feature-ci.ymlfor non-masterpush CImaster-ci.ymlfor merged-PR-to-masterrelease CI
- Keep OS/platform splits in reusable workflows invoked via
workflow_call.
Current workflow map
feature-ci.yml-> orchestrator for feature branch CI.feature-linux.yml-> reusable Linux build/test/package workflow.feature-windows.yml-> reusable Windows build/test/package workflow.master-pr-title-guard.yml-> validates semantic-prefix policy for PRs targetingmaster.master-ci.yml-> orchestrator for merged PRs intomaster.master-windows.yml-> reusable Windows build/test/package workflow for master release flow.
CI invariants (do not break)
- Keep workflow intent stable:
- feature workflows produce branch+sha artifacts
- master workflows produce semver-tagged release artifacts
- Do not duplicate top-level triggers for the same intent (avoid split runs in Actions UI).
- Preserve artifact naming conventions unless docs are updated in the same change:
ccm3-linux-<version>.zipccm3-windows-<version>.zipccm3-windows-installer-<version>(feature) and.exe(master release asset)
- Preserve embedded app version wiring via
-DCCM_APP_VERSION=...in both feature and master build flows. - Keep
masterrelease flow gated to merged PRs only. - Keep PR title prefix policy aligned with
scripts/compute_master_semver.sh.
Editing rules
- Prefer minimal, surgical edits; avoid large workflow rewrites unless requested.
- Reusable workflows should declare explicit
workflow_callinputs for required context (e.g., version, merge SHA). - Keep
permissionsleast-privilege:- reusable build workflows:
contents: read - release/tag orchestrator:
contents: write
- reusable build workflows:
- Keep shells consistent with runner setup:
- Linux steps use standard bash-compatible shell.
- Windows MSYS2 jobs keep
shell: msys2 {0}and runmsys2/setup-msys2before MSYS2 commands.
Required follow-ups
- After changing workflow topology, update
docs/ci-cd-guide.md. - If artifact names or release behavior change, update
docs/ci-cd-guide.mdanddocs/versioning.mdif needed. - If semver prefix policy changes, update both
master-pr-title-guard.ymland docs. - If adding/removing workflow files, update this file's "Current workflow map".
Anti-patterns
- Do not add a second top-level feature or master trigger file.
- Do not move release creation into a reusable workflow that lacks
contents: write. - Do not introduce MSVC-specific build commands; project CI targets Clang/MinGW toolchains.
- Do not silently change artifact names; downstream release/download steps depend on exact names.