Skip to content

Add GitHub Actions CI workflow for lint and tests (#79) - #447

Merged
stephaniehobson merged 4 commits into
mainfrom
79--github-actions-ci
Oct 15, 2026
Merged

stephaniehobson merged 4 commits into
mainfrom
79--github-actions-ci

Conversation

@stephaniehobson

@stephaniehobson stephaniehobson commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

One-line summary

Run lint, the Vitest unit tests, and the Playwright end-to-end tests on every push to main and every pull request.

Significant changes and points to review

  • Bring AGENTS.md up to date with the Vite, Vitest, and Playwright toolchain, and say that CI now exists. CONTRIBUTING.md gets the same CI fix.
  • Stop checking external links in the Playwright suite. loadsSuccessfully in tests/playwright/utils.js now skips any URL outside the app's origin, so internal links are still checked.

Issue / Bugzilla link

#79

Testing

  • Check that "CI / Lint and test" and "CI / End-to-end tests" both appear in this PR's Checks tab and pass.

@stephaniehobson
stephaniehobson added this pull request to stack #445 September 18, 2026 23:32
@stephaniehobson stephaniehobson changed the title Add CI based on GitHub Actions Add GitHub Actions CI workflow for lint and tests (#79) Sep 18, 2026
@stephaniehobson
stephaniehobson marked this pull request as draft September 18, 2026 23:39
@stephaniehobson
stephaniehobson force-pushed the 79--github-actions-ci branch 4 times, most recently from 5831bff to f846c70 Compare September 21, 2026 17:40
@stephaniehobson
stephaniehobson requested a lite review from Copilot September 21, 2026 17:40

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@stephaniehobson
stephaniehobson force-pushed the 79--github-actions-ci branch 2 times, most recently from f2ad5c9 to b224c69 Compare September 22, 2026 17:52
@stephaniehobson
stephaniehobson force-pushed the 79--github-actions-ci branch 2 times, most recently from 49924b9 to fa97eea Compare September 29, 2026 02:52
Base automatically changed from 441--update-toolchain to main October 1, 2026 18:03
@stephaniehobson
stephaniehobson force-pushed the 79--github-actions-ci branch 3 times, most recently from d1804e6 to e501cc5 Compare October 2, 2026 01:26
@stephaniehobson
stephaniehobson marked this pull request as ready for review October 2, 2026 01:26
@@ -0,0 +1,937 @@
# Add a GitHub Actions workflow that lints and tests every commit and pull request

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stevejalim This seems like A LOT for the amount of work that was actually done. Is this the kind of exec plan you expect to see or do I need to get it to be less verbose. (Do I really need to know it rebased?)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I don't think we need to knoiw it rebased and it's worth adding something like "don't log routine development operations in the execplan. Record consequential decisions and surprises" into https://github.com/mozilla/ensemble/blob/main/docs/execplans/README.md or - perhaps better - https://github.com/mozilla/ensemble/blob/main/.claude/skills/execplans/references/PLANS.md

Runs lint, the Vitest unit tests, and the Playwright end-to-end tests on every push to main and every pull request. Stops checking external links in the Playwright suite, because third-party bot walls fail them on GitHub's runners.
test('All links work', async ({ page }) => {
await expect(page.locator('#contact')).toBeVisible();
await linksWork(page, '#contact a');
});

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trust you, but am curious why we are dropping this test

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah it's becuase loadsSuccessfully has changed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue #79 (<https://github.com/mozilla/ensemble/issues/79>) was opened in 2018, when a pull request
got no CI feedback. It asks for CI that lints and runs the tests on every commit. The repository
once had CircleCI, but it was turned off in February 2018 (`433a465`), and nothing replaced it.
There is no `.github/` directory today.
Comment on lines +124 to +126
and `#not-found` does not. For an external link, it opens the URL in a new browser page and expects
HTTP 200, with three attempts and backoff, plus a redirect-only special case for
`donate.mozilla.org`. `footer.spec.js` and the "All links work" test in `contact.spec.js` check only

@stevejalim stevejalim left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - i've DMed two robot insights if you want

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we rename this to not have the -shorter part, to bring it in line with what PLAN.md asks for

@stephaniehobson
stephaniehobson merged commit 0fa80fd into main Oct 15, 2026
2 checks passed
stephaniehobson added a commit that referenced this pull request Oct 16, 2026
* Revise execplan instructions

* Add GitHub Actions CI workflow for lint and tests (#79)

Runs lint, the Vitest unit tests, and the Playwright end-to-end tests on every push to main and every pull request. Stops checking external links in the Playwright suite, because third-party bot walls fail them on GitHub's runners.

* Remove a link test that can no longer fail, and a stale PLANS.md claim (#79)

* Compile CSS and bound job time in CI, and tidy link tests (#79)
stephaniehobson added a commit that referenced this pull request Oct 16, 2026
* Revise execplan instructions

* Add GitHub Actions CI workflow for lint and tests (#79)

Runs lint, the Vitest unit tests, and the Playwright end-to-end tests on every push to main and every pull request. Stops checking external links in the Playwright suite, because third-party bot walls fail them on GitHub's runners.

* Remove a link test that can no longer fail, and a stale PLANS.md claim (#79)

* Compile CSS and bound job time in CI, and tidy link tests (#79)
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.

3 participants