Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release docs #258

Merged
merged 4 commits into from
Nov 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 1 addition & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,30 +47,7 @@ Most of these features can be controlled not only from the toolbar, but also usi

### Which Libraries Are Available?

Try PureScript aims to provide a complete, recent package set from <https://github.com/purescript/package-sets>. The available libraries are those listed in `staging/spago.dhall`, at the versions in the package set mentioned in `staging/packages.dhall`.

To update to a more recent package set, first update the `upstream` package set in `staging/packages.dhall`:

```
$ spago upgrade-set
```

Then, set the dependencies key in the `spago.dhall` file to be an empty list. This will require a type annotation of `List Text`:

```dhall
{ name = "try-purescript-server"
, dependencies = [] : List Text
, ...
}
```

Finally, run this command to install every package in the package set:

```
$ spago ls packages | cut -f 1 -d ' ' | xargs spago install
```

Before deploying an updated package set, someone (your reviewer) should check that the memory required to hold the package set's externs files does not exceed that of the try.purescript.org server.
Try PureScript aims to provide a complete, recent package set from <https://github.com/purescript/package-sets>. The available libraries are those listed in [`staging/spago.dhall`](./staging/spago.dhall), at the versions in the package set mentioned in [`staging/packages.dhall`](./staging/packages.dhall).

## Development

Expand Down
41 changes: 41 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Release

## Instructions for Redeploying Try PureScript

After making a new compiler release, do the following to redeploy Try PureScript using the new compiler.

1. Submit a PR with the following changes:
- In `stack.yaml`, update `purescript` (and possibly `purescript-cst`) to use its new version.
- If you are updating the package set, see the next section for instructions.
1. Once the PR is merged, create a new GitHub tagged release using `vYYYY-MM-DD.X` (where `X` is usually `1` or the release attempt) as the version schema. The release will trigger a GitHub Actions build.
2. Wait for the GitHub Actions build to finish (it builds the assets)
3. Run `./deploy/run.sh vX-X-X.1`, replacing `vX-X-X.1` with the version you created.

## Updating the Package Set

The try.purescript.org server only has a limited amount of memory. If the package set we use in deployment is too large, the server will run out of memory.

Before deploying an updated package set, someone (your reviewer) should check that the memory required to hold the package set's externs files does not exceed that of the try.purescript.org server.

Update the package set by doing the following:

1. Update the `upstream` package set in `staging/packages.dhall`:

```
$ pushd staging && spago upgrade-set && popd
```

2. Set the `dependencies` key in the `spago.dhall` file to be an empty list. This will require a type annotation of `List Text`:

```dhall
{ name = "try-purescript-server"
, dependencies = [] : List Text
, ...
}
```

3. Install all packages in the package set by running this command:

```
$ spago ls packages | cut -f 1 -d ' ' | xargs spago install
```