Skip to content

Commit

Permalink
conda builds (#293)
Browse files Browse the repository at this point in the history
environment.yml files demonstrating possible conda installations
  • Loading branch information
wxtim authored Sep 8, 2021
1 parent ebb125b commit fbed799
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/conda-build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: conda builds

on:
pull_request:
paths:
- '.github/workflows/conda-build-test.yml'
- 'src/reference/environments/*.ya?ml'
schedule:
- cron: '17 22 * * 6'
workflow_dispatch:

jobs:
test_conda_install:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
case: [basic, gui, rose]
python: [3.7, 3.8, 3.9]
steps:
- name: checkout cylc-doc
uses: actions/checkout@v2

- name: build conda env ${{matrix.case}}
run: |
# Done like this so that we test all versions of python,
# and offer users examples of basic with all three versions
# but don't have to have three env.yml files for each case.
if [[ -f src/reference/environments/${{matrix.case}}-${{matrix.python}}.yml ]]; then
conda env create -f \
src/reference/environments/${{matrix.case}}-${{matrix.python}}.yml
else
conda env create -f \
src/reference/environments/${{matrix.case}}.yml \
python==${{matrix.python}}
fi
7 changes: 7 additions & 0 deletions src/reference/environments/basic-3.7.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: cylc-8-basic-python-3.7
# Cylc 8 without UI Server.
channels:
- conda-forge
dependencies:
- python=3.7
- cylc-flow=8.*
7 changes: 7 additions & 0 deletions src/reference/environments/basic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: cylc-8-basic
# Cylc 8 without the UI Server.

channels:
- conda-forge
dependencies:
- cylc-flow=8.*
43 changes: 43 additions & 0 deletions src/reference/environments/example_envs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Example Environments
====================

A set of example Conda Cylc Environments:

.. csv-table::
:header: environment, cylc, cylc uiserver, rose

`Cylc 8 basic`_, ✔️, ,
`Cylc 8 with UI Server`_, ✔️,✔️,
`Cylc 8 with Rose`_, ✔️,✔️,✔️

Example installation commands:

.. code-block:: bash
conda env create -f path/to/env.yml --name "name of env"
Cylc 8 basic
------------

This environment contains the core workflow engine and shows how to specify a particular version of Python.

.. literalinclude:: basic-3.7.yml
:language: YAML

Cylc 8 with UI Server
---------------------

An environment containing the workflow engine and the GUI components.

.. literalinclude:: gui.yml
:language: YAML

Cylc 8 with Rose
----------------

In addition to the GUI components also add the Cylc-Rose plugin, and the
Rose configuration management system.

.. literalinclude:: rose.yml
:language: YAML
7 changes: 7 additions & 0 deletions src/reference/environments/gui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: cylc-8-with-gui
# Cylc 8 and the also the UI Server (which provides the web GUI).
channels:
- conda-forge
dependencies:
- cylc-flow
- cylc-uiserver
10 changes: 10 additions & 0 deletions src/reference/environments/rose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: cylc-8-with-rose
# Cylc 8, the UI Server (which provides the web GUI).
# and the Cylc Rose plugin (which requires metomi-rose).
channels:
- conda-forge
dependencies:
- cylc-flow
- cylc-rose
- cylc-uiserver
- metomi-rose
1 change: 1 addition & 0 deletions src/reference/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ Reference

config/index
api/index
environments/example_envs.rst
dev-history-major-changes

0 comments on commit fbed799

Please sign in to comment.