google / google/codeworld

Set up separate servers for stable versus head

Open
#667 0 comments 0 reactions 0 assignees View on GitHub
cleanup
Dominant language
Haskell
Stars
1.3k
Forks
201
PR merge metrics
No merged PRs in 30d

Description

I want to have two servers:

* **code.world** is the stable server, which is updated once per year some time in July.
* **alpha.code.world** (or something similar) is the head server, which is basically pushed on green.

Breaking API changes should go only to alpha.code.world, and then be released to the stable server on a set schedule. Bug fixes and non-breaking improvements could go to both servers at the same time. This means we'd also keep a separate branch of the code for the stable server.

Intended uses of the alpha server include:
* General use by those who don't mind occasional breaking changes. We would still follow deprecation cycles and such for this server, so it shouldn't be awful.
* Use by those who are preparing (teaching materials, learning themselves, etc.) for the release of these changes to the stable server.

We would encourage those who are teaching to use the stable server. This approximately captures the same pattern as @alphalambda has going on for his own server (though our stable server might have a different release schedule, since we probably want to make the switch in the summer to avoid breaking year-long classes).

Concerns:
1. Both servers need access to the same data, which means I finally need to move data to network storage (See #84)
2. I will need to learn more about using git, so I can be competent at merging changes between branches and such.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.