Files
Sebastian Dine 55ace147bc major: initial release
* 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>
2026-05-09 11:05:47 +02:00

29 lines
1.9 KiB
Markdown

# AGENTS.md
Utility scripts and CI helper assets live in this folder.
## Scope
- Keep CI-facing scripts and config here so workflows stay concise.
- Current contents:
- `installer.nsi` — NSIS installer definition used by the Windows CI job.
- `installer_icon.ico` — committed installer icon consumed by `installer.nsi`.
- `compute_feature_version.sh` — branch+sha version formatter for feature CI workflows.
- `compute_master_semver.sh` — semantic version bump logic for merged PRs to `master`.
## Editing rules
- Prefer referencing script files from workflows instead of embedding large inline scripts.
- Keep scripts deterministic and non-interactive so CI can run unattended.
- Keep versioning scripts strict and fail-fast (non-zero exit) when required title/version conventions are violated.
- When changing installer behavior, edit `installer.nsi` and ensure both `.github/workflows/feature-windows.yml` and `.github/workflows/master-windows.yml` still invoke it via `makensis -DAPP_VERSION="${VERSION}" scripts/installer.nsi`.
- Keep installer assets that should not be generated at runtime (such as icon files) committed in this folder.
- `installer.nsi` path semantics:
- `installer_icon.ico` is resolved relative to `scripts/`.
- build payload is loaded from `..\build\bin\*.*` (project root build output).
- installer output is written to `..\ccm3-windows-installer.exe` so CI upload paths can stay root-based.
- `installer.nsi` version semantics:
- `APP_VERSION` is supplied by CI (`makensis -DAPP_VERSION=...`) using the same `VERSION` value that is fed into `-DCCM_APP_VERSION` for the C++ build, so the installer, uninstaller, Add/Remove Programs entry, and the running app all advertise the same version.
- When `APP_VERSION` is not provided (manual local `makensis` runs), it defaults to `"localbuild"`.
- If a script depends on generated files, document those expectations in the script or workflow step that creates them.