diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6b0101bb..1cabc630 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -66,8 +66,8 @@ jobs:
strategy:
max-parallel: 2
matrix:
- os: [ macos-latest, windows-latest ]
- python-version: [ 3.7, 3.8 ]
+ os: [ macos-latest ]
+ python-version: [ 3.7 ]
runs-on: ${{ matrix.os }}
steps:
diff --git a/ADMIN.rst b/ADMIN.rst
new file mode 100644
index 00000000..b4bc006e
--- /dev/null
+++ b/ADMIN.rst
@@ -0,0 +1,113 @@
+Introduction
+============
+
+This documentation provides a guide for mdgo administrators. The following
+assumes you are using miniconda or Anaconda.
+
+Releases
+========
+
+The general procedure to releasing mdgo comprises the following steps:
+
+1. Wait for all unittests to pass on CircleCI.
+2. Update and edit change log.
+3. Release PyPI versions + doc.
+4. Release conda versions.
+
+Initial setup
+-------------
+
+Install some conda tools first::
+
+ conda install --yes conda-build anaconda-client
+ conda config --add channels matsci
+
+Mdgo uses `invoke `_ to automate releases. You will
+also need sphinx. Install these using::
+
+ pip install --upgrade invoke sphinx
+
+For 2018, we will release both py27 and py37 versions of mdgo. Create
+environments for py37 using conda::
+
+ conda create --yes -n py37 python=3.7
+
+For each env, install required packages followed by dev install for
+mdgo::
+
+ conda activate py37
+ pip install -r requirements.txt
+ pip install -r requirements-optional.txt
+ python setup.py develop
+
+Add your PyPI username and password and GITHUB_RELEASE_TOKEN into your
+environment::
+
+ export TWINE_USERNAME=PYPIUSERNAME
+ export TWINE_PASSWORD=PYPIPASSWORD
+ export GITHUB_RELEASES_TOKEN=TOKEN_YOU_GET_FROM_GITHUB
+
+You may want to add these to your .bash_profile to avoid having to type these
+each time.
+
+Machine-specific issues
+~~~~~~~~~~~~~~~~~~~~~~~
+
+The above instructions are general, but there are some known issues that are
+machine-specific:
+
+* It can be useful to `pip install --upgrade pip twine setuptools` (this may
+ be necessary if there are authentication errors when connecting to PyPI).
+
+Doing the release
+-----------------
+
+Ensure appropriate environment variables are set including `DISCOURSE_API_USERNAME`,
+`DISCOURSE_API_KEY` and `GITHUB_RELEASES_TOKEN`.
+
+First update the change log. The autogenerated change log is simply a list of
+commit messages since the last version. Make sure to edit the log for brevity
+and to attribute significant features to appropriate developers::
+
+ conda activate py37
+ invoke update-changelog
+
+Then, do the release with the following sequence of commands (you can put them
+in a bash script in your PATH somewhere)::
+
+ conda activate py37
+ invoke release --nodoc
+ invoke update-doc
+ conda deactivate
+ python setup.py develop
+
+Double check that the releases are properly done on Pypi. If you are releasing
+on a Mac, you should see a mdgo.version.tar.gz and two wheels (Py37 and
+P). There will be a py37 wheel for Windows that is generated by Appveyor.
+
+Materials.sh
+------------
+
+Fork and clone the `materials.sh `_.
+This repo contains the conda skeletons to build the conda versions for various
+matsci codes on the Anaconda `matsci channel `_.
+
+The first time this is run, you may need to `pip install beautifulsoup4`.
+
+If you doing this for the first time, make sure conda-build and anaconda-client
+are installed::
+
+ conda install --yes conda-build anaconda-client
+
+Update the mdgo meta.yaml::
+
+ invoke update-pypi mdgo
+
+Build the mac versions manually::
+
+ invoke build-conda mdgo
+
+Commit and push to repo, which will build the Linux and Windows versions.
+
+Check that the `matsci channel `_ versions are
+properly updated.
\ No newline at end of file