Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
71 changes: 71 additions & 0 deletions .github/workflows/test-conda-builds.yml
Copy link
Copy Markdown
Member Author

@oliver-sanders oliver-sanders Mar 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy of cylc-flow workflow with s/cylc/rose/ and added pip check.

Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: conda builds

on:
pull_request:
paths:
- 'conda-environment.yml'
- '.github/workflows/test-conda-builds.yml'
schedule:
- cron: '17 22 * * 6' # Every Saturday at 22:17
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

env:
FORCE_COLOR: 2

jobs:
test_conda_install:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3']
env:
ENV_FILE: conda-environment.yml
steps:
- name: checkout
uses: actions/checkout@v4

- name: modify conda env file
run: |
# write environment file
echo " - pip" >> "$ENV_FILE" # list pip as a dependency
echo " - pip:" >> "$ENV_FILE" # add a pip section
echo " - ." >> "$ENV_FILE" # install metomi-rose (pip install .)
cat "$ENV_FILE"

- name: build conda env
uses: conda-incubator/setup-miniconda@v3
with:
python-version: ${{ matrix.python-version }}
environment-file: ${{ env.ENV_FILE }}

- name: check rose installation
shell: bash -el {0}
run: |
conda run -n test rose version --long
pip check

- name: check for activate scripts
shell : bash -el {0}
run: |
# https://github.com/cylc/cylc-flow/issues/3704#issuecomment-897442365
# locate all activate scripts
find "$CONDA_PREFIX" -name "activate.d" | tee > activates.txt
# ignore the conda activate script itself
sed -i "\|$CONDA_PREFIX/etc/conda/activate.d|d" activates.txt
# check to make sure no packages have contributed new activate scripts
# (we rely on having a conda activate-less environment)
if [[ $(wc -l < activates.txt) -ne 0 ]]; then
echo '::error::Found activate scripts in installation.'
cat activates.txt >&2
exit 1
fi
21 changes: 21 additions & 0 deletions conda-environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: rose-dev
channels:
- conda-forge
dependencies:
# outut: metomi-rose-base
- __unix
- python >= 3.7.0
- aiofiles
- jinja2 >=2.10.1
- keyring >=23,<24
- ldap3
- metomi-isodatetime >=1!3.0,<1!4.0
- psutil >=5.6.0
- requests
- sqlalchemy >=1,<2
- importlib_metadata >=5.0 # py<3.12 TODO: selectors don't work for noarch packages
- importlib_resources >=2.0 # py<3.9 TODO: selectors don't work for noarch packages
# - tornado (rosie disco is temporally disabled)

# output: metomi-rose
- pygraphviz >1.0,!=1.8
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@astroDimitrios

Once this PR has been merged, please rebase your branch and add the new GUI dependencies to the bottom of this file.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merged.