Skip to content

Commit 3a63ed0

Browse files
Add support for purs@0.15.16 (#758)
* add support for purs@0.15.16 * update contributing.md instructions for compiler updates
1 parent a0a7a51 commit 3a63ed0

3 files changed

Lines changed: 25 additions & 3 deletions

File tree

CONTRIBUTING.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,27 @@ nix run .#daily-importer
138138

139139
The [.env.example](./.env.example) file lists out a number of environment variables that you can set. Scripts that require environment variables will fail at startup if the required env var is not found, so you can add only the ones you need to your .env file.
140140

141+
## Upgrading the PureScript Compiler
142+
143+
When a new compiler release is added to `purescript-overlay`, the registry needs a small set of changes:
144+
145+
```sh
146+
# Update the Nix input that provides purs and the compiler binaries
147+
nix flake update purescript-overlay
148+
149+
# Confirm the dev shell now exposes the expected compiler version
150+
nix develop --command purs --version
151+
```
152+
153+
If the compiler bump causes source incompatibilities, fix them in the PureScript code and re-run the commands above. Then, update the expected compiler list in [`app/test/App/CLI/PursVersions.purs`](./app/test/App/CLI/PursVersions.purs). Once done, verify with `nix flake check`.
154+
155+
Deploying the updated server is normally enough to start the registry-wide compiler matrix rollout. On server startup, the job executor checks whether the newest compiler known to `purs-versions` is missing from the latest `prelude` metadata; if so, it enqueues matrix jobs for packages without dependencies, and those jobs cascade through the rest of the registry.
156+
157+
In practice this means:
158+
159+
- Push the compiler upgrade to `master` and let the normal deploy workflow roll it out, or deploy manually with `colmena apply`.
160+
- After deploy, watch `journalctl -u server.service` or the jobs API if you want to confirm the new compiler matrix has started.
161+
141162
## Testing
142163

143164
The usual PureScript testing workflow applies in the registry — from within a Nix shell, you can execute all tests:

app/test/App/CLI/PursVersions.purs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ knownCompilers = map (unsafeFromRight <<< Version.parse)
4747
, "0.15.13"
4848
, "0.15.14"
4949
, "0.15.15"
50+
, "0.15.16"
5051
]
5152

5253
spec :: Spec.Spec Unit

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)