The Coiled Runtime is a conda metapackage which makes it easy to get started with Dask.
coiled-runtime can be installed with:
conda install -c conda-forge coiled-runtimeTo build and install coiled-runtime locally, use the following steps:
# Have a local copy of the `coiled-runtime` repository
git clone https://github.com/coiled/coiled-runtime
cd coiled-runtime
# Make sure conda-build is installed
conda install -c conda-forge conda-build
# Build the metapackage
conda build recipe -c conda-forge --output-folder dist/conda --no-anaconda-upload
# Install the built `coiled-runtime` metapackage
conda install -c conda-forge -c ./dist/conda/ coiled-runtimeThe coiled-runtime test suite can be run locally with the following steps:
- Ensure your local machine is authenticated to use the
dask-engineeringCoiled account and the Coiled Dask Engineering AWS S3 account. - Create a Python environment and install development dependencies:
coiled-runtimecondapytestjinja2packaging
- (Optional) If testing against an unreleased version of
coiled-runtime, create a Coiled software with the unreleasedcoiled-runtimeinstalled and set a localCOILED_SOFTWARE_NAMEenvironment variable to the name of the software environment (e.g.export COILED_SOFTWARE_NAME="account/software-name") - Run tests with
python -m pytest tests
Additionally, tests are automatically run on pull requests to this repository. See the section below on creating pull requests.
This repository uses GitHub Actions secrets for managing authentication tokens used
to access resources like Coiled clusters, S3 buckets, etc. However, because GitHub Actions doesn't
grant access to secrets for forked repositories,
please submit pull requests directly from the coiled/coiled-runtime repository,
not a personal fork.
To issue a new coiled-runtime release:
- Locally update the
coiled-runtimeversion and package pinnings specified inrecipe/meta.yaml.- When updating package version pinnings (in particular
daskanddistributed) confirm there are no reported large scale stability issues (e.g. deadlocks) or performance regressions on thedask/distributedissue trackers or offline reports.
- When updating package version pinnings (in particular
- Open a pull request to the
coiled-runtimerepository titled "Release X.Y.Z" with these changes (whereX.Y.Zis replaced with the actual version for the release). - After all CI builds have passed the release pull request can be merged.
- Add a new git tag for the release by following the steps below on your local machine:
# Pull in changes from the Release X.Y.Z PR
git checkout main
git pull origin main
# Set release version number
export RELEASE=X.Y.Z
# Create and push release tag
git tag -a $RELEASE -m "Version $RELEASE"
git push origin main --tags- Update the
coiled-runtimepackage on conda-forge by opening a pull request to thecoiled-runtimeconda-forge feedstock which updates thecoiled-runtimeversion and package version pinnings.- Note that pull requests to conda-forge feedstocks must come from a fork.
- Reset the build number back to
0if it isn't already. - For more information on updating conda-forge packages, see the conda-forge docs.