Skip to content

Modernize server build and CI#322

Merged
thomashoneyman merged 2 commits into
masterfrom
haskell-modernization
Jul 5, 2026
Merged

Modernize server build and CI#322
thomashoneyman merged 2 commits into
masterfrom
haskell-modernization

Conversation

@thomashoneyman

@thomashoneyman thomashoneyman commented Jul 5, 2026

Copy link
Copy Markdown
Member

Successor to #320, rebuilt on master after #316 landed — the compiler bump, package set, and deploy changes all live there now.

- Bump the Stackage resolver to lts-20.26 (GHC 9.2.8), the newest
  snapshot compatible with purescript-0.15.15. This requires protolude
  0.3.3 (for lts-20.26's bytestring) and a happy-1.20.0 pin (purescript
  requires happy ==1.20.0 exactly).
- Update the cabal file to cabal-version 2.4, build with -Wall -Werror,
  and remove unused dependencies; delete the redundant Setup.hs
  (build-type: Simple ignores it).
- Clean up server/Main.hs for -Wall: remove dead imports, fix name
  shadowing, and exit with a usage message on bad arguments instead of
  a partial pattern match.
- Remove the -j1 limit from CI server builds; runners have 4 vCPUs and
  16GB of RAM.
Browsers were heuristically caching the site and the compiled /output
modules because no Cache-Control header was sent; with files dating
from a 2023 deploy, cached clients could be considered fresh for
months. no-cache makes browsers revalidate via ETag: unchanged files
cost a 304, changed files are re-downloaded immediately.

Matches the configuration applied to the live server on 2026-07-05.
Also updates the changelog entries to reference this PR.
@thomashoneyman thomashoneyman merged commit ad10749 into master Jul 5, 2026
3 checks passed
@thomashoneyman thomashoneyman deleted the haskell-modernization branch July 5, 2026 19:18
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.

1 participant