... love how complete and descriptive githubs ci/cd syntax docs are... #15
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: create_test_conda_env | |
on: [push] | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '>=3.9' | |
- name: Add conda to system path | |
run: | | |
# $CONDA is an env var pointing to root of miniconda dir | |
echo $CONDA/bin >> $GITHUB_PATH | |
- name: Create fre-workflows environment | |
run: | | |
# create environment containing all dependencies | |
# the env cannot be explicitly activated in github CI/CD | |
conda env create -f environment.yml --name fre-workflows | |
# add conda env's executables to github's PATH equiv. | |
echo $CONDA/envs/fre-workflows/bin >> $GITHUB_PATH | |
- name: in fre-workflows environment, cylc lint | |
continue-on-error: true | |
run: | | |
# lint .cylc workflow files | |
cylc lint -v | |
- name: in fre-workflows environment, data_lineage unittest and pylint | |
run: | | |
# unittests for data_lineage | |
cd data_lineage && \ | |
python -m unittest discover -s test -v || \ | |
echo "data_lineage unittest failed."; \ | |
pylint -v || \ | |
echo "pylint threw non-zero exit code."; \ | |
cd -; | |
- name: in fre-workflows environment, regrid-xy pytest and pylint | |
run: | | |
# pytest unittests for regrid-xy | |
cd app/regrid-xy && \ | |
pytest -v -v -rx --cov=regrid_xy ./t || \ | |
echo "pytest unittests for regrid-xy failed"; \ | |
pylint -v || \ | |
echo "pylint threw non-zero exit code."; \ | |
cd -; | |
- name: in fre-workflows environment, make-timeseries pytest and pylint | |
run: | | |
# pytest unittests for make-timeseries | |
cd app/make-timeseries && \ | |
pytest -v -v -rx --cov=bin/make-timeseries ./test || \ | |
echo "pytest for make-timeseries failed"; \ | |
pylint -v || \ | |
echo "pylint threw non-zero exit code."; \ | |
cd -; | |
- name: in fre-workflows environment, remap-pp-components pytest and pylint | |
run: | | |
# pytest unittests for remap-pp-components | |
cd app/remap-pp-components && \ | |
pytest -v -v -rx --cov=bin/remap-pp-components ./t/ || \ | |
echo "pytest for remap-pp-components failed"; \ | |
pylint -v || \ | |
echo "pylint threw non-zero exit code."; \ | |
cd -; | |
- name: in fre-workflows environment, root directory pytest | |
run: | | |
# pytest unittests for other things in this repository | |
pytest -v -v -rx ./tests || \ | |
echo "pytest unittests for root directory failed :-("; |