From a81586db87be30d0176c5eb324fd16cb9f58c775 Mon Sep 17 00:00:00 2001 From: Emma Hogan Date: Thu, 30 May 2024 14:52:54 +0100 Subject: [PATCH] Add Rose and Cylc to testing dependencies for RTW (#3625) --- .../{rtw-tests.yml => check-rtw.yml} | 50 +++-- .github/workflows/rtw-env/rtw-env.lock | 179 ------------------ .github/workflows/rtw-env/rtw-env.yml | 12 -- environment.yml | 3 + .../recipe_test_workflow/doc/source/conf.py | 2 +- setup.py | 4 + 6 files changed, 30 insertions(+), 220 deletions(-) rename .github/workflows/{rtw-tests.yml => check-rtw.yml} (60%) delete mode 100644 .github/workflows/rtw-env/rtw-env.lock delete mode 100644 .github/workflows/rtw-env/rtw-env.yml diff --git a/.github/workflows/rtw-tests.yml b/.github/workflows/check-rtw.yml similarity index 60% rename from .github/workflows/rtw-tests.yml rename to .github/workflows/check-rtw.yml index 0d47721ca1..f8dae32648 100644 --- a/.github/workflows/rtw-tests.yml +++ b/.github/workflows/check-rtw.yml @@ -1,21 +1,27 @@ -# This workflow creates the required Conda environment, performs various -# validation steps for Cylc and Rose, and builds and checks the documentation. -name: rtw-tests +# This workflow performs various validation steps for Cylc and Rose, and +# builds and checks the documentation. +name: Check Recipe Test Workflow (RTW) # Controls when the action will run on: - # Triggers the workflow on push or pull request events + # Triggers the workflow on push events push: - pull_request: + paths: + - esmvaltool/utils/recipe_test_workflow/** # Allows you to run this workflow manually from the Actions tab workflow_dispatch: +# Required shell entrypoint to have properly configured bash shell +defaults: + run: + shell: bash -l {0} + # A workflow run is made up of one or more jobs that can run # sequentially or in parallel jobs: - # This workflow contains a single job called "build" - build: + # This workflow contains a single job called "check-rtw" + check-rtw: # The type of runner that the job will run on runs-on: ubuntu-latest @@ -24,57 +30,45 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job # can access it - - uses: actions/checkout@v2 - - - name: Create environment - run: | - conda update conda - conda create --name rtw --file .github/workflows/rtw-env/rtw-env.lock - eval "$(conda shell.bash hook)" - conda activate rtw + - uses: actions/checkout@v4 + - uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: esmvaltool + environment-file: environment.yml + miniforge-version: "latest" + miniforge-variant: Mambaforge + use-mamba: true - name: Validate Cylc workflow run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/recipe_test_workflow cylc validate . -O metoffice - name: Run Cylc configuration linter run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/recipe_test_workflow cylc lint - name: Validate format of Rose configuration files run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/recipe_test_workflow output="$(rose config-dump)" msg="Run 'rose config-dump' to re-dump the Rose configuration files" msg="${msg} in the common format, then commit the changes." # The '-z' option returns true if 'output' is empty. - if [[ -z "${output}" ]]; then exit 0; else echo "${msg}" && exit 1; fi + if [[ -z "${output}" ]]; then true; else echo "${msg}" && exit 1; fi - name: Validate Rose configuration metadata run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/recipe_test_workflow rose metadata-check -C meta/ - name: Build documentation run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/doc make html - name: Check for broken links in the documentation run: | - eval "$(conda shell.bash hook)" - conda activate rtw cd esmvaltool/utils/recipe_test_workflow/doc make linkcheck diff --git a/.github/workflows/rtw-env/rtw-env.lock b/.github/workflows/rtw-env/rtw-env.lock deleted file mode 100644 index aee011bafd..0000000000 --- a/.github/workflows/rtw-env/rtw-env.lock +++ /dev/null @@ -1,179 +0,0 @@ -# This file may be used to create an environment using: -# $ conda create --name --file -# platform: linux-64 -@EXPLICIT -https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda -https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_2.conda -https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h55db66e_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_7.conda -https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-4_cp311.conda -https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_7.conda -https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_7.conda -https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda -https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda -https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.2-h59595ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-hca663fb_7.conda -https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.4.0-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda -https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h59595ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_7.conda -https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-3.21.12-hfc55251_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.3-h2797004_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.7-hc051c1a_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.43-hcad00b1_0.conda -https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda -https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda -https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda -https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda -https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libglib-2.80.2-hf974151_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.27-pthreads_h413a1c8_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-h1dd3fc0_3.conda -https://conda.anaconda.org/conda-forge/linux-64/python-3.11.9-hb806964_0_cpython.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.9-h8ee46fc_0.conda -https://conda.anaconda.org/conda-forge/noarch/aiofiles-23.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda -https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda -https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py311hb755f60_1.conda -https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/docutils-0.20.1-py311h38be061_3.conda -https://conda.anaconda.org/conda-forge/noarch/empy-3.3.4-pyh9f0ad1d_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda -https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-hb9ae30d_0.conda -https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.0.3-py311hb755f60_0.conda -https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda -https://conda.anaconda.org/conda-forge/noarch/idna-3.7-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/jeepney-0.8.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_1.conda -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-22_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.4.0-h2c329e2_0.conda -https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py311h459d7ec_0.conda -https://conda.anaconda.org/conda-forge/noarch/metomi-isodatetime-1!3.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.2-h488ebb8_0.conda -https://conda.anaconda.org/conda-forge/noarch/packaging-24.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py311h459d7ec_0.conda -https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/rx-3.2.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/setuptools-69.5.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.11.0-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/wheel-0.43.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda -https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/ansimarkup-1.5.0-pyh44b312d_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py311hb3a22ac_0.conda -https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.51.0-py311h459d7ec_0.conda -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.1.0-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.4.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/ldap3-2.9.1-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-22_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda -https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-22_linux64_openblas.conda -https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py311h18e6fac_0.conda -https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/promise-2.3-py311h38be061_8.conda -https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.21.12-py311hcafe171_0.conda -https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.0.3-py311h08a0b41_0.conda -https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-1.4.49-py311h459d7ec_1.conda -https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.11.0-hd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/aniso8601-7.0.0-py_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/async-timeout-4.0.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cryptography-42.0.7-py311h4a61cc7_0.conda -https://conda.anaconda.org/conda-forge/noarch/graphql-core-2.2-py_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.5.0-hfac3d4d_0.conda -https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.1.0-hd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda -https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/urwid-2.6.12-py311h331c9d8_0.conda -https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.1-py311h9547e67_0.conda -https://conda.anaconda.org/conda-forge/noarch/graphql-relay-2.0.1-py_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.3-py311h2872171_1.conda -https://conda.anaconda.org/conda-forge/linux-64/pango-1.52.2-ha41ecd1_0.conda -https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py311h38be061_2.conda -https://conda.anaconda.org/conda-forge/noarch/graphene-2.1.9-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h280cfa0_4.conda -https://conda.anaconda.org/conda-forge/linux-64/keyring-23.13.1-py311h38be061_0.conda -https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.0-hadf69e7_1.conda -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.4-py311h54ef318_0.conda -https://conda.anaconda.org/conda-forge/noarch/cylc-flow-base-8.2.7-pyh707e725_0.conda -https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda -https://conda.anaconda.org/conda-forge/noarch/metomi-rose-base-2.2.0-pyh707e725_0.conda -https://conda.anaconda.org/conda-forge/noarch/cylc-flow-8.2.7-pyh48b6436_0.conda -https://conda.anaconda.org/conda-forge/noarch/cylc-rose-1.3.4-pyh707e725_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pygraphviz-1.12-py311hbf5cbc9_0.conda -https://conda.anaconda.org/conda-forge/noarch/metomi-rose-2.2.0-pyh707e725_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinx-7.3.7-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda diff --git a/.github/workflows/rtw-env/rtw-env.yml b/.github/workflows/rtw-env/rtw-env.yml deleted file mode 100644 index 15eb4297bc..0000000000 --- a/.github/workflows/rtw-env/rtw-env.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: recipe_test_workflow - -channels: - - conda-forge - - nodefaults - -dependencies: - - cylc-flow >=8.2 - - cylc-rose - - metomi-rose - - sphinx - - sphinx_rtd_theme diff --git a/environment.yml b/environment.yml index ad4666aadd..2b83a9e274 100644 --- a/environment.yml +++ b/environment.yml @@ -77,6 +77,9 @@ dependencies: - pytest-metadata >=1.5.1 - pytest-mock - pytest-xdist + - cylc-flow >=8.2 + - cylc-rose + - metomi-rose # Python packages needed for building docs - autodocsumm >=0.2.2 - nbsphinx diff --git a/esmvaltool/utils/recipe_test_workflow/doc/source/conf.py b/esmvaltool/utils/recipe_test_workflow/doc/source/conf.py index 95ce969cd0..dc41386310 100644 --- a/esmvaltool/utils/recipe_test_workflow/doc/source/conf.py +++ b/esmvaltool/utils/recipe_test_workflow/doc/source/conf.py @@ -39,7 +39,7 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = 'pydata_sphinx_theme' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/setup.py b/setup.py index cd278e50b1..a785cf92d8 100755 --- a/setup.py +++ b/setup.py @@ -77,6 +77,7 @@ ], # Test dependencies (unit tests) # Execute `pip install .[test]` once and then use `pytest` to run tests + # or the Recipe Test Workflow (RTW) to run the recipe tests 'test': [ 'flake8', 'pytest>=3.9,!=6.0.0rc1,!=6.0.0', @@ -86,6 +87,9 @@ 'pytest-metadata>=1.5.1', 'pytest-mock', 'pytest-xdist', + 'cylc-flow>=8.2', + 'cylc-rose', + 'metomi-rose', ], # Documentation dependencies 'doc': [