Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conda builds #293

Merged
merged 30 commits into from
Sep 8, 2021
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
032a1c7
conda builds
wxtim Sep 1, 2021
8a904a5
conda builds
wxtim Sep 1, 2021
af98ea7
Update src/index.rst
wxtim Sep 6, 2021
1b0c61c
Apply suggestions from code review
wxtim Sep 6, 2021
8aef4c7
Merge branch 'master' of github.com:wxtim/cylc-doc into env.yml
wxtim Sep 6, 2021
9ad666e
slimmed basic.yml right down.
wxtim Sep 6, 2021
f11c6a5
add python versions to basic example
wxtim Sep 6, 2021
308baa9
correct yml file
wxtim Sep 6, 2021
6824114
fixed logic of envtest.yml to only require separate env files for eac…
wxtim Sep 6, 2021
723a2e1
fixed logic of envtest.yml to only require separate env files for eac…
wxtim Sep 6, 2021
e62f12a
fixed logic of envtest.yml to only require separate env files for eac…
wxtim Sep 6, 2021
b57c3f9
fix over long env files
wxtim Sep 6, 2021
eca163d
stufgf
wxtim Sep 6, 2021
1d34267
deleted old flder
wxtim Sep 6, 2021
b371603
Update .github/workflows/conda-build-test.yml
wxtim Sep 6, 2021
9a29751
Response to review by @osanders:
wxtim Sep 6, 2021
9f0bdfb
Merge branch 'master' of github.com:wxtim/cylc-doc into env.yml
wxtim Sep 6, 2021
5cb3665
fix schedule
wxtim Sep 6, 2021
142862d
added python dep to live installs
wxtim Sep 6, 2021
86c2bf3
Update .github/workflows/conda-build-test.yml
wxtim Sep 6, 2021
0c83fcd
move example envs to reference section
wxtim Sep 6, 2021
3e60edf
fix test build envs
wxtim Sep 6, 2021
c2057ca
Fix breakage
wxtim Sep 6, 2021
97372ab
fixed some envs
wxtim Sep 6, 2021
7abb117
removed section about building conda envs for cylc using pip
wxtim Sep 6, 2021
a7e6ee3
fix table render
wxtim Sep 6, 2021
a7cdffd
Response to review
wxtim Sep 7, 2021
a8aeb80
Update src/reference/environments/basic.yml
wxtim Sep 8, 2021
7ff3551
uniform docstrings wrt to UI/GUI
wxtim Sep 8, 2021
3d7d390
merge
wxtim Sep 8, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/conda-build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
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-18.04
wxtim marked this conversation as resolved.
Show resolved Hide resolved
timeout-minutes: 10
strategy:
matrix:
case: [basic, gui, rose, live-basic, live-full]
python: [3.7, 3.8, 3.9]
steps:
# - name: install conda
# run: |
# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# chmod +x Miniconda3-latest-Linux-x86_64.sh
# bash Miniconda3-latest-Linux-x86_64.sh -y
wxtim marked this conversation as resolved.
Show resolved Hide resolved

- 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
8 changes: 8 additions & 0 deletions src/reference/environments/basic-3.7.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: cylc-8-basic-python-3.7
# Cylc 8 without GUI installed from Conda Repos.
wxtim marked this conversation as resolved.
Show resolved Hide resolved
channels:
- conda-forge
dependencies:
- python=3.7
- cylc-flow=8.*
- pip
wxtim marked this conversation as resolved.
Show resolved Hide resolved
8 changes: 8 additions & 0 deletions src/reference/environments/basic-3.8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: cylc-8-basic-python-3.8
wxtim marked this conversation as resolved.
Show resolved Hide resolved
# Cylc 8 without GUI installed from Conda Repos.
channels:
- conda-forge
dependencies:
- python=3.8
- cylc-flow=8.*
- pip
8 changes: 8 additions & 0 deletions src/reference/environments/basic-3.9.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: cylc-8-basic-python-3.9
wxtim marked this conversation as resolved.
Show resolved Hide resolved
# Cylc 8 without GUI installed from Conda Repos.
channels:
- conda-forge
dependencies:
- python=3.9
- cylc-flow=8.*
- pip
76 changes: 76 additions & 0 deletions src/reference/environments/example_envs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Example Environments
====================

A set of possible installations of Cylc:
wxtim marked this conversation as resolved.
Show resolved Hide resolved

.. csv-table::
:header-rows:1
wxtim marked this conversation as resolved.
Show resolved Hide resolved

environment, cylc, cylc uiserver, rose, install latest from github
`Cylc 8 basic`_, ✔️, , ,
`Cylc 8 with UI Server`_, ✔️,✔️, ,
`Cylc 8 with Rose`_, ✔️,✔️,✔️,
:ref:`Cylc 8 basic live from github <liveFromGH>`, ✔️, , ,✔️
:ref:`Cylc 8 with rose and GUI live from github <liveFromGH>`,✔️,✔️,✔️,✔️

Example installation commands:

.. code-block:: bash

conda env create -f path/to/env.yml --name "name of env"

# ..or if you haven't specified a python version in the enviroment file:
conda env create -f path/to/env.yml --name "name of env" python==<version>
wxtim marked this conversation as resolved.
Show resolved Hide resolved


Cylc 8 basic
------------

In this case we are collecting the core workflow engine.

Also demonstrates using different versions of Python.
wxtim marked this conversation as resolved.
Show resolved Hide resolved

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


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


.. literalinclude:: basic-3.9.yml
:language: YAML
wxtim marked this conversation as resolved.
Show resolved Hide resolved

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

Create an enviroment containing the workflow engine and the GUI components
from releases available on conda-forge.
wxtim marked this conversation as resolved.
Show resolved Hide resolved

.. 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

.. _liveFromGH:

Cylc 8 live from github
-----------------------

In this case the ``enviroment.yml`` file will create a new enviroment and
download the latest development version of Cylc from github. One could
add ``@branch``, ``@hash`` or ``@tag`` to the end of the URL to specify a
particular version.

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

.. literalinclude:: live-full.yml
:language: YAML
6 changes: 6 additions & 0 deletions src/reference/environments/gui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: cylc-8-with-gui
# Cylc 8 and the GUI installed from Conda
wxtim marked this conversation as resolved.
Show resolved Hide resolved
channels:
- conda-forge
dependencies:
- cylc
wxtim marked this conversation as resolved.
Show resolved Hide resolved
9 changes: 9 additions & 0 deletions src/reference/environments/live-basic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: cylc-8-live-basic
# Cylc 8 without GUI installed from the default GitHub branch.
channels:
- conda-forge
dependencies:
- python=3.9
- pip
- pip:
- git+https://github.com/cylc/cylc-flow.git
wxtim marked this conversation as resolved.
Show resolved Hide resolved
12 changes: 12 additions & 0 deletions src/reference/environments/live-full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: cylc-8-live-with-rose
# Cylc 8, the UI and UI server, Cylc Rose and Metomi Rose
channels:
- conda-forge
dependencies:
- python=3.9
- pip
- pip:
- git+https://github.com/cylc/cylc-flow.git
- git+https://github.com/cylc/cylc-uiserver.git
- git+https://github.com/metomi/rose.git
- git+https://github.com/cylc/cylc-rose.git
wxtim marked this conversation as resolved.
Show resolved Hide resolved
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, Cylc Rose and Metomi Rose
channels:
- conda-forge
dependencies:
- cylc
- cylc-rose
- cylc-ui
- cylc-uiserver
- metomi-rose
wxtim marked this conversation as resolved.
Show resolved Hide resolved
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