From c240be0f27adff2531dfe9360d41eb33103bc834 Mon Sep 17 00:00:00 2001 From: Jeremy Rapin Date: Mon, 29 Jul 2024 17:47:29 +0200 Subject: [PATCH] Activate github actions --- .github/workflows/ci.yaml | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..96e949d --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,75 @@ +name: Build, run pytest and flake8 +env: + IN_GITHUB_ACTION: 1 + +on: [push] + +jobs: + build-linux: + # require 8-core machines (Github Actions Larger Runners) to have more than 14GB disk space + runs-on: 8-core-ubuntu # ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.8 + uses: actions/setup-python@v5 + with: + python-version: '3.8' + + # Building/caching the environment + + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA + echo $CONDA/bin >> $GITHUB_PATH + echo $CONDA_PREFIX + + - name: Cache conda env + id: cache-conda + uses: actions/cache@v4 + env: + # change name here (only) to invalidate cache + cache-name: cache-conda-env-v0 + with: + key: ${{ env.cache-name }}-${{ hashFiles('pyproject.toml') }} + path: ./ci_env + + - name: Create conda env & Install dependencies + run: | + sudo apt-get update + sudo apt-get install rsync + if [ ! -d "./ci_env" ]; then \ + # creates the env if it does not exist (not loaded from cache) + conda create -p ./ci_env python=3.10 ipython -y + fi + source activate ./ci_env + pip install --progress-bar off --upgrade pip + pip install --progress-bar off -U -e .[dev] + + - name: Print installed packages + run: | + source activate ./ci_env + pip freeze + + # start checks + + - name: Test lint + run: | + source activate ./ci_env + pip show mypy + make lint + + - name: Test coverage + run: | + source activate ./ci_env + make test_coverage + + - name: Test format + run: | + source activate ./ci_env + make format + +