Skip to content

ci: run the documented verification checks on every push and pull request - #76

Open
theLeverager1705 wants to merge 1 commit into
AdvancedDiscordBot:mainfrom
theLeverager1705:ci/github-actions
Open

theLeverager1705 wants to merge 1 commit into
AdvancedDiscordBot:mainfrom
theLeverager1705:ci/github-actions

Conversation

@theLeverager1705

Copy link
Copy Markdown

Description

Closes #74.

Adds .github/workflows/ci.yml, which runs the local checks from docs/VERIFICATION.md automatically, so every PR shows whether it breaks the suite before anyone reviews it.

Job Steps
npm test (Node 20 / 22 / 24) npm install, npm test
Dashboard check and build npm install in plugins/administration/web, npm run test:dashboard, npm --prefix plugins/administration/web run build

Choices worth knowing about:

  • Triggers: pushes to main, all pull requests, and manual runs. A newer push to the same branch cancels the older run.
  • Permissions: contents: read only, persist-credentials: false on checkout, no secrets.
  • No lockfile is committed, so it uses npm install rather than npm ci, and the npm cache is keyed on package.json.
  • Integration check left out until [BUG] Integration-check Discord mock is incomplete: it fails a correct plugin and silently skips many command paths #51 closes the Discord mock gaps. Otherwise it would fail on every run. A comment at the top of the workflow says so.
  • Node 20 is EOL since April 2026, but engines.node still allows it, so it's in the matrix. Removing it is a one-line change.

How I tested it

I ran the workflow on my fork through a pull request, so it ran on the same pull_request trigger it will use here:

Each test job takes about 30 s, and the dashboard job about a minute. The runs show no warnings from the workflow itself. The only annotation is GitHub's notice that ubuntu-latest is moving to Ubuntu 26.

Type of change

  • 🔧 Configuration

Checklist

  • Self-reviewed
  • Commented the non-obvious part (why the integration check isn't included)
  • Docs: no update needed. The workflow runs exactly what docs/VERIFICATION.md already lists.
  • No new warnings
  • Existing tests pass

Reviewer notes

  • GitHub holds workflow runs on PRs from first-time contributors until a maintainer clicks "Approve and run". That's under Settings → Actions → General if you want to change it.
  • If you want CI to block merges, add these jobs as required status checks in branch protection for main. I didn't change any repository settings.

🤖 Generated with Claude Code

…uest

The repo has no CI, so nothing checks a PR before review. This workflow runs
the local checks listed in docs/VERIFICATION.md:

- npm test on Node 20, 22 and 24 (engines.node is >=20; the Docker image
  uses 24)
- npm run test:dashboard and the dashboard production build

No lockfile is committed, so it uses npm install and keys the npm cache on
package.json. The MongoDB integration check is left out until the Discord
mock gaps in AdvancedDiscordBot#51 are closed, otherwise it would fail on every run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

No CI: pull requests are reviewed without the test suite ever running

1 participant