codex_a
56e53478ea
fix: update existing default site in seed command instead of hardcoding 127.0.0.1
...
CI / nightly-e2e (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m10s
CI / ci (pull_request) Successful in 1m22s
Wagtail initialises the default site with hostname 'localhost'. The previous
get_or_create on '127.0.0.1' left the localhost site intact (still pointing
to the Welcome page), so browsers got the wrong root page.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 20:31:20 +00:00
96f9eca19d
Merge pull request 'feat: comprehensive Playwright E2E test suite' ( #7 ) from tests/e2e into main
...
Reviewed-on: #7
2026-02-28 20:25:29 +00:00
codex_a
f6edcadd46
fix: run E2E tests properly with mounted browsers and real postgres
...
CI / nightly-e2e (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m33s
CI / ci (pull_request) Successful in 2m18s
- Mount /opt/playwright-tools/browsers into web container (docker-compose.yml
and CI docker run) — never download browsers, use the ones on this host
- Set PLAYWRIGHT_BROWSERS_PATH in all container envs (compose + CI)
- Drop 'playwright install chromium' steps from pr-e2e and nightly-e2e jobs
- Bump playwright requirement to ~1.57.0 to match the installed browser builds
- Fix seed_e2e_content: de-duplicate default Site entries left by unit test
fixtures so Wagtail always routes to the seeded home page
- Fix test_comments_section_absent_when_disabled: use exact=True on heading
locator to avoid matching 'No Comments Article' h1 as 'Comments' heading
- Fix test_copy_link_button_updates_text: use [data-copy-link] data-attr
locator (stable across text change) and force-override clipboard.writeText
via page.evaluate() rather than relying on init_script polyfill
E2E suite verified locally: 34 passed via docker compose exec
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 20:20:18 +00:00
codex_a
4992b0cb9d
fix: resolve 5 E2E test failures from first CI run
...
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m22s
CI / pr-e2e (pull_request) Failing after 1m32s
- test_homepage_title_contains_brand: to_have_title() requires a string or
regex, not a lambda; switch to re.compile('No Hype AI')
- test_granular_preferences_save_dismisses_banner: wrong element clicked to
open <details>; use 'details summary' locator directly
- test_subscribe_invalid_email_shows_error: browser HTML5 email validation
swallows the submit event before the JS handler fires; add 'novalidate' via
evaluate() so the fetch still runs and the server returns 400
- test_copy_link_button_updates_text: clipboard API unavailable in headless
Docker; add polyfill + pre-grant permissions in conftest page fixture so
the JS success path runs and button text becomes 'Copied'
- test_comments_section_absent_when_disabled: guard against Wagtail's
add_child() resetting BooleanField defaults by calling an explicit
.update(comments_enabled=False) + re-setting on the instance before
save_revision().publish(); also tighten test to assert 200 + correct title
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 19:47:13 +00:00
codex_a
9d323d2040
feat: add comprehensive Playwright E2E test suite
...
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m22s
CI / pr-e2e (pull_request) Failing after 3m28s
- Create e2e/ directory with 7 test modules covering:
- Home page: title, nav links, theme toggle, newsletter form
- Cookie consent: accept all, reject all, granular prefs, persistence
- Article index: loads, tag filter, click-through navigation
- Article detail: title/read-time, share section, comments, newsletter aside, related
- Comments: valid submit → redirect, empty body → error display, disabled check
- Newsletter: JS confirmation message, invalid email error, aside form, duplicate
- Feeds: RSS/sitemap/robots.txt validity, tag feed, seeded content present
- Extend seed_e2e_content management command with tagged article, about page,
no-comments article, and legal pages for richer test coverage
- Add seed command tests (create + idempotency) to keep coverage ≥ 90%
- Add pr-e2e CI job (runs on pull_request): builds image, starts postgres + app,
installs playwright, runs pytest e2e/
- Update nightly-e2e to run full e2e/ suite alongside legacy journey test
- Add --ignore=e2e to unit-test pytest step (coverage must not include browser tests)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 19:30:43 +00:00
aeb0afb2ea
Merge pull request 'Run migrations before starting dev server' ( #6 ) from fix/run-migrations-on-startup into main
...
Reviewed-on: #6
2026-02-28 19:13:57 +00:00
codex_a
b73a2d4d72
Run migrations before starting dev server
...
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m21s
Chains 'migrate --noinput' before 'runserver' in the web
service command so migrations are applied automatically on
'docker compose up'.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 18:53:32 +00:00
7d226bc4ef
Merge pull request 'fix: docker fix' ( #5 ) from fix/docker-apt-retries into main
...
Reviewed-on: #5
2026-02-28 18:32:29 +00:00
Mark
9b677741cb
fix: docker fix
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 3m27s
2026-02-28 18:27:56 +00:00
c5f2902417
Merge pull request 'Harden Docker apt install against transient mirror failures' ( #4 ) from fix/docker-apt-retries into main
...
Reviewed-on: #4
2026-02-28 18:15:52 +00:00
Mark
5d1c5f43bc
Harden Docker apt install with retry logic
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 3m48s
2026-02-28 18:09:24 +00:00
027dff20e3
Merge pull request 'Corrective implementation of implementation.md (containerized Django/Wagtail)' ( #3 ) from codex_b/implementation-e2e into main
...
Reviewed-on: #3
Reviewed-by: codex_a <codex_a@linteldigital.com >
2026-02-28 17:55:13 +00:00
Mark
c4fde90a9c
fix(spec): enforce read-time budget and re-render invalid comment submissions
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m1s
2026-02-28 17:36:34 +00:00
Mark
cfe0cbca62
fix(mypy): work around django-plugin annotate crash in comment viewset
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m20s
2026-02-28 17:21:29 +00:00
Mark
5adff60d4b
docs+comments: align plan with gitea PR-only CI and close remaining blockers
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Failing after 20s
2026-02-28 17:17:19 +00:00
Mark
0c9340d279
chore(ci): remove github workflow mirror and use gitea as source
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m1s
2026-02-28 16:49:34 +00:00
Mark
ebddb6c904
fix(ci): validate tailwind output without host bind mount
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m21s
2026-02-28 16:47:58 +00:00
Mark
29e3589b1a
fix(ci): avoid docker subnet exhaustion and harden nightly feed check
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Failing after 3m40s
2026-02-28 16:43:20 +00:00
Mark
14db1bb57e
fix(ci): address PR blockers and move CI/nightly off sqlite
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Failing after 35s
2026-02-28 16:38:37 +00:00
Codex_B
36ac487cbd
Resolve PR review gaps across comments, security, feeds, and UX
CI / nightly-e2e (pull_request) Has been skipped
CI / ci (pull_request) Successful in 48s
2026-02-28 13:47:21 +00:00
Codex_B
932b05cc02
Add performance regression tests for core page flows
CI / ci (pull_request) Successful in 48s
2026-02-28 13:23:24 +00:00
Codex_B
683cba4280
Complete missing UX flows and production integrity commands
CI / ci (pull_request) Successful in 32s
2026-02-28 13:20:25 +00:00
Codex_B
2cb1e622e2
Run PR CI via docker build/run without compose networks
CI / ci (pull_request) Successful in 43s
2026-02-28 13:05:28 +00:00
Codex_B
11b89e9e1c
Stabilize PR CI and harden compose startup
CI / ci (pull_request) Failing after 6s
2026-02-28 13:01:27 +00:00
Codex_B
06be5d6752
CI: isolate compose projects and remove runner container conflicts
CI / lint (pull_request) Failing after 6s
CI / typecheck (pull_request) Failing after 6s
CI / tests (pull_request) Failing after 8s
2026-02-28 12:56:44 +00:00
Codex_B
ebdf20e708
CI: remove buildx action dependency for runner compatibility
CI / typecheck (pull_request) Failing after 31s
CI / lint (pull_request) Successful in 2m8s
CI / tests (pull_request) Failing after 2m8s
2026-02-28 12:51:24 +00:00
Codex_B
47e8afea18
CI: use Docker Compose checks for runner compatibility
CI / typecheck (pull_request) Failing after 2m11s
CI / lint (pull_request) Failing after 2m51s
CI / tests (pull_request) Failing after 2m56s
2026-02-28 12:47:54 +00:00
Codex_B
630c86221f
CI: mirror workflow under .gitea/workflows for Gitea Actions
CI / lint (pull_request) Failing after 6s
CI / tests (pull_request) Failing after 6s
CI / typecheck (pull_request) Failing after 7s
2026-02-28 12:46:43 +00:00
Codex_B
2d2edd8605
Make Docker workflows independent of local .env file
CI / lint (pull_request) Failing after 6s
CI / tests (pull_request) Failing after 6s
CI / typecheck (pull_request) Failing after 9s
2026-02-28 12:44:41 +00:00
Codex_B
0b5fca3be6
CI: switch to uv with caching and cancel in-progress PR runs
CI / lint (pull_request) Failing after 12s
CI / tests (pull_request) Failing after 10s
CI / typecheck (pull_request) Failing after 39s
2026-02-28 12:43:40 +00:00
Codex_B
eb2cdfc5f2
Add granular consent preference flow and regression tests
CI / typecheck (pull_request) Failing after 2m13s
CI / lint (pull_request) Failing after 2m20s
CI / tests (pull_request) Failing after 2m41s
2026-02-28 12:41:26 +00:00
Codex_B
82e6bc2ee0
Add security regression tests for headers, robots and CSRF forms
CI / typecheck (pull_request) Failing after 2m21s
CI / tests (pull_request) Failing after 3m14s
CI / lint (pull_request) Failing after 3m16s
2026-02-28 12:40:20 +00:00
Codex_B
e279e15c9c
Add canonical and social SEO meta tags for core page templates
CI / typecheck (pull_request) Failing after 2m20s
CI / lint (pull_request) Failing after 3m3s
CI / tests (pull_request) Failing after 3m7s
2026-02-28 12:39:12 +00:00
Codex_B
6fc28f9d9a
Implement newsletter double opt-in email flow and CSP nonce headers
CI / lint (pull_request) Failing after 2m13s
CI / tests (pull_request) Failing after 2m18s
CI / typecheck (pull_request) Failing after 2m39s
2026-02-28 12:37:32 +00:00
Codex_B
ca211c14e9
CI: run lint/typecheck/tests on pull requests only
CI / typecheck (pull_request) Failing after 2m11s
CI / lint (pull_request) Failing after 2m47s
CI / tests (pull_request) Failing after 2m57s
2026-02-28 12:32:38 +00:00
Codex_B
938ff5b0d2
Add CI workflow and project runbook documentation
CI / test (push) Failing after 2m52s
CI / test (pull_request) Failing after 2m32s
2026-02-28 11:53:09 +00:00
Codex_B
8970f4d8de
Add Docker-executed pytest suite with >90% coverage
2026-02-28 11:53:05 +00:00
Codex_B
b5f0f40c4c
Scaffold containerized Django/Wagtail app with core features
2026-02-28 11:52:59 +00:00
Mark
62323abd62
docs: actually saved the implementation plan
2026-02-28 11:27:14 +00:00
Mark
da83868bc1
docs: added implementation plan
2026-02-28 11:26:19 +00:00
Mark
eba9001908
initial commit
2026-02-28 11:12:52 +00:00