Commit Graph
21 Commits
Author SHA1 Message Date
westfarn 3ea2cfde0e Improve SEO and agentic browsing for public pages (#18).
CI / test (pull_request) Successful in 4s
Unit Tests / test (pull_request) Successful in 4s
Add per-page titles/meta/Open Graph, semantic landmarks, robots/sitemap/llms.txt, and accessibility fixes so humans and agents can discover and navigate the site reliably.
2026-07-14 07:17:31 -05:00
westfarn 862b13a666 Upgrade to Django 6 (#20) (#26)
Unit Tests / test (push) Successful in 3s
## Summary

Closes #20.

- Bump Django pin from `>=5.2,<6` to `>=6.0,<7` (resolved **6.0.7**) and refresh `uv.lock`
- Update `TimeInfoBase.save` for Django 6 keyword-only `Model.save`
- Pass `required_score` directly to `ReCaptchaV3` (removes django-recaptcha deprecation warning)
- Fix `Payments.date` fixed default → callable `timezone.now` (+ migration `0012`)

Reviewed against [Django 6.0 release notes](https://docs.djangoproject.com/en/6.0/releases/6.0/). `DEFAULT_AUTO_FIELD` already `BigAutoField`. No other removed APIs in use.

**Compat notes**
- `django-phonenumber-field` 8.4.0 advertises Django 6.0 support
- `django-recaptcha` 4.1.0 has no upper Django bound; classifiers still list through 5.2 only — smoke-tested via suite

## Test plan

- [x] `uv run python manage.py check` — clean
- [x] `uv run python manage.py test` — 30 passed
- [ ] CI unit tests green on this PR
- [ ] Smoke board pages, membership form, auth/sign-in, recaptcha after merge/deploy

Reviewed-on: #26
2026-07-14 05:13:55 -07:00
westfarn c9ff71bce5 Fix/ci isolated test db (#25)
Unit Tests / test (push) Successful in 3s
Reviewed-on: #25
2026-07-14 05:07:55 -07:00
westfarn 0b76b781e3 Isolate CI/deploy tests from production DATABASE_URL (#24)
Unit Tests / test (push) Successful in 3s
## Summary
- Root cause: `docker-compose.yml` used `${DATABASE_URL:-…}`, so the Act runner’s host/`prod` `DATABASE_URL` was interpolated into the web service. Containerized deploy tests then ran against shared Postgres instead of the bundled compose `db`.
- Stop reading host `DATABASE_URL` in compose (use `COMPOSE_DATABASE_URL` override only).
- Deploy docker step: unset DB secrets, dedicated compose project name, `up --wait db`, force test `DATABASE_URL` to `postgres://scha:scha@db:5432/scha`, `down -v` on exit (ephemeral DB).
- Clear `DATABASE_URL`/`DB_HOST` in `unittests.yml` / `ci.yml` so host sqlite-fallback tests cannot hit prod either.

## Test plan
- [ ] Merge to `master` and watch Unit Tests + Deploy docker job.
- [ ] Confirm docker step connects only to compose `db` (no traffic/errors against `10.0.0.230`).
- [ ] Confirm `docker compose -p scha-ci-<sha> …` volumes cleaned after job (`down -v`).
- [ ] Local: `docker compose up --build` still works with bundled Postgres.

Reviewed-on: #24
2026-07-14 05:00:01 -07:00
westfarn b3fa2272c8 Add unit tests and gate PR/deploy on them (#1) (#22)
Unit Tests / test (push) Successful in 3s
## Summary

Closes #1.

- Adds real Django unit tests in `schasite/tests.py` (public pages, membership form + form validation, model helpers, calendar helpers, Stripe endpoints with mocks, auth/login_required behavior).
- Includes the dockerize + Gitea Actions CI/CD base so PRs run tests and deploy only after Unit Tests succeed on a `master` push (company_site pattern).

## Test plan

- [x] `DJANGO_ENV=dev DJANGO_SECRET_KEY=test-secret-key uv run python manage.py test schasite` — 30 tests OK
- [ ] Open this PR and confirm Unit Tests / CI workflows run on the self-hosted runner
- [ ] After merge to `master`, confirm Unit Tests run on push and deploy only proceeds when they pass

Reviewed-on: #22
2026-07-14 03:48:01 -07:00
westfarn 5acddd37e2 Fix WhiteNoise crash from missing CSS background GIFs (#23)
Unit Tests / test (push) Successful in 4s
## Summary
- Remove unused `.top-head` / `.top-body` CSS rules that referenced missing GIF files (`top-head.gif`, `top-body.gif`), which caused `whitenoise.storage.MissingFileError` and crashed the prod container at collectstatic/startup.
- Drop a stray `{% load static %}` tag from `style.css` (not a Django template).
- Branch rebased onto current `master` (dockerize already merged via #21); this PR is the CSS-only fix.

## Test plan
- [ ] Merge and let deploy run (or redeploy scha prod).
- [ ] Confirm web container stays up (no WhiteNoise `MissingFileError`).
- [ ] Spot-check site CSS still looks fine on public pages.
- [ ] Separately: if Compose still warns about unset `$…` vars, escape `$` as `$$` in `~/Documents/secrets/scha/scha_prod.env` password/`DATABASE_URL`.

Reviewed-on: #23
2026-07-14 03:32:28 -07:00
westfarn 42418fd123 Dockerize scha + Gitea CI/CD auto-deploy via server-infra (#21)
Unit Tests / test (push) Successful in 3s
## Summary
- Dockerize SCHA Wheaton (uv packaging, Dockerfile, compose, entrypoint) and move secrets/DB config to env-driven `scha/settings/`.
- Add Gitea Actions: unit tests on push/PR to `master`, auto-deploy on green master push via `server-infra/scripts/deploy.sh --app scha --env prod`.
- Prod compose uses shared external Postgres only (no bundled DB); control-node secret template at `.env.prod.example`.

Closes #19 (Part A). Depends on companion server-infra PR for catalog/host_apps registration.

## Test plan
- [ ] `uv sync --frozen` + `DJANGO_ENV=dev DJANGO_SECRET_KEY=test uv run python manage.py check`
- [ ] `docker compose build` succeeds locally
- [ ] `docker compose up` serves app against bundled Postgres
- [ ] `./scripts/validate-env.sh ~/Documents/secrets/scha/scha_prod.env` passes
- [ ] After merge + server-infra catalog live: push to master runs Unit Tests then Deploy

Reviewed-on: #21
2026-07-14 03:12:35 -07:00
westfarn b97d5ac792 removed the address and updated the logging 2025-09-08 20:51:09 -05:00
westfarn fc64549c00 Allow for multiple entries on the scha board for positions 2025-09-08 13:07:56 -05:00
westfarn b9964b22a9 Updates with a sign in page 2025-04-25 10:12:16 -05:00
westfarn 5bd7a37e52 Added telemetry 2025-04-23 09:41:05 -05:00
westfarn 627bff8074 Prod live updates 2025-04-23 09:33:58 -05:00
westfarn 992750dc55 updates to the officer page 2025-04-22 11:51:15 -05:00
westfarn 0e1ddbcf1a Updates to the main page 2025-04-22 11:46:55 -05:00
westfarn 4c0605474c more frontend updates. Added membership only area in debug mode 2025-04-21 10:13:01 -05:00
westfarn 77ccc5c2fe added site tracking and updated urls 2025-04-21 06:27:34 -05:00
westfarn 636cf3d45d Added assets and fixed the membership form 2025-04-18 10:48:41 -05:00
westfarn b1e372ff9d Added assets to the about us page 2025-04-17 11:15:52 -05:00
westfarn b9aee578c3 redesign proto 2025-04-15 12:18:03 -05:00
westfarn cdbbea7711 inital check in 2025-03-07 12:15:48 -06:00
westfarn 1a571d2f8b Initial commit 2025-03-03 10:54:48 +00:00