- Install Mambaforge
- Create the base environment
CONDARC=.github/.condarc mamba create --file locks/dev-linux-64.conda.lock --prefix .venv
- always run any commands with that environment activated
source .venv/bin/activate
doit drives local development.
To list all the tasks that you could run:
doit list
To run everything that needs to be run:
doit
*
may be used as a wildcard
Building, testing, and even releasing the GTCOARLab installers is a heavy continuous
integration task. The .github/workflows/ci.yml
is quite verbose, and is actually
generated from a number of other files, to allow for (relatively) quick testing, if only
only tests or release scripts change.
Some notes:
- the installers should only be rebuilt when one of the following changes:
- the
VERSION
file - any file in
constructs/<variant>-<subdir>
- the platform-specific
locks/build-<subdir>.conda.lock
file - the
CACHE_EPOCH
(ideally, only by increasing)
- the
- Wait for a successful merge to
master
- Through the GitHub Web UI, create a Release
- name the release the same thing as the current value of the
VERSION
file, with av
prepended- only these will trigger the (slow) upload mechanism
- creating/pushing a local tag will fail, as the
release
job expects the release id to already exist in the GitHub API before uploading artifacts - it should build/upload relatively quickly, as the built artifacts should still be in the cache.
- shipping is good, but marking a new tag as a prerelease allows the release upload script to complete, and the release assets can be more easily tested.
- name the release the same thing as the current value of the
- After the
release
job completes, add the uploadedNOTES.md
to the release page.
Copyright (c) 2021 University System of Georgia and GTCOARLab Contributors
Distributed under the terms of the BSD-3-Clause License