Skip to content

Commit d7bb717

Browse files
authored
docs: update CI/CD documentation to reflect split ci and release workflows (#8)
1 parent 547a14c commit d7bb717

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

AGENTS.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,24 @@ The addon is split into modular components, sharing a single private namespace (
1212
- `UI.lua`: Handles rendering the main tracker window, row layouts (grid vs vertical), and the per-frame `OnUpdate` timer loop.
1313
- `Settings.lua`: Implements the in-game options panel (Escape -> Options -> AddOns) using the modern `Settings` API. Handles SavedVariables overrides.
1414
- `Core.lua`: The bootstrap file. Handles `ADDON_LOADED`, slash commands (`/cdt`), and initializes the UI and Settings.
15-
- `.github/workflows/release.yml`: GitHub Actions CI/CD workflow (see CI/CD section below).
15+
- `.github/workflows/ci.yml`: Luacheck lint workflow — runs on push to `main` and all PRs.
16+
- `.github/workflows/release.yml`: Packaging and GitHub Release workflow — runs on `v*` tag push.
17+
- `.github/pull_request_template.md`: PR template with WoW-specific checklist.
1618
- `.luacheckrc`: Luacheck static analysis configuration.
1719
- `.pkgmeta`: BigWigs packager metadata for release packaging.
1820

1921
## 🔁 CI/CD
2022
The project uses GitHub Actions for linting and release packaging.
2123

22-
### Workflow (`.github/workflows/release.yml`)
23-
- **Push to `main`:** Runs `luacheck` on all Lua files via `nebularg/actions-luacheck@v1`.
24-
- **Push a `v*` tag:** Runs luacheck, then runs `BigWigsMods/packager@v2` which creates a GitHub Release with the addon zip attached. Uses the built-in `GITHUB_TOKEN` — no additional secrets required.
24+
### Workflows
25+
Two separate workflow files handle CI and releases:
26+
27+
**`.github/workflows/ci.yml`** — triggers on push to `main` and on all pull requests:
28+
- Runs `luacheck` on all Lua files via `nebularg/actions-luacheck@v1`.
29+
30+
**`.github/workflows/release.yml`** — triggers on `v*` tag push only:
31+
- Runs luacheck as a gate, then runs `BigWigsMods/packager@v2` to package the addon and create a GitHub Release with the zip attached.
32+
- Uses `permissions: contents: write` so the built-in `GITHUB_TOKEN` can publish releases — no additional secrets required.
2533

2634
### Luacheck (`.luacheckrc`)
2735
- `std = "lua51"` covers standard Lua globals.

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ CooldownTracker/
8282
├── UI.lua — Frame, row widgets, timer rendering
8383
├── Settings.lua — In-game options panel
8484
├── Core.lua — Init, events, slash commands
85-
├── .github/workflows/release.yml — CI: luacheck on push, package+release on tag
85+
├── .github/workflows/ci.yml — Luacheck on push to main and all PRs
86+
├── .github/workflows/release.yml — Package and publish release on version tag
87+
├── .github/pull_request_template.md — PR checklist template
8688
├── .luacheckrc — Luacheck config (WoW globals whitelist)
8789
├── .pkgmeta — BigWigs packager metadata
8890
├── AGENTS.md — AI agent coding guidelines
@@ -93,7 +95,7 @@ CooldownTracker/
9395

9496
Releases are built automatically by GitHub Actions using the [BigWigs packager](https://github.com/BigWigsMods/packager).
9597

96-
- **Push to `main`** — runs [luacheck](https://github.com/mpeterv/luacheck) static analysis on all Lua files.
98+
- **Pull request or push to `main`** — runs [luacheck](https://github.com/mpeterv/luacheck) static analysis on all Lua files.
9799
- **Push a version tag** — runs luacheck, packages the addon, and publishes a GitHub Release with a downloadable zip.
98100

99101
To ship a release:

0 commit comments

Comments
 (0)