conda builds #357
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: conda builds | |
on: | |
pull_request: | |
paths: | |
- 'conda-environment.yml' | |
- '.github/workflows/test_conda-build.yml' | |
schedule: | |
- cron: '17 22 * * 6' # Every Saturday at 22:17 | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test_conda_install: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
python-version: ['3.8', '3'] | |
env: | |
ENV_FILE: conda-environment.yml | |
steps: | |
- name: checkout cylc-flow | |
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 cylc-flow (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 cylc installation | |
shell: bash -el {0} | |
run: | | |
conda run -n test cylc version --long | |
- 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 |