Update cache paths in GitHub Actions workflow to use environment vari… #6
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
# FILE: .github/workflows/test.yaml | |
name: Run software tests | |
on: | |
push: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test: | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Conda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-variant: Miniforge3 | |
miniforge-version: latest | |
activate-environment: test_env | |
use-mamba: true | |
python-version: "3.9" | |
channels: conda-forge | |
channel-priority: strict | |
conda-remove-defaults: true | |
- name: Cache conda env | |
uses: actions/cache@v3 | |
with: | |
path: | | |
$CONDA/envs/test_env | |
$CONDA/pkgs | |
key: conda-${{ runner.os }}-${{ hashFiles('pyproject.toml') }} | |
restore-keys: | | |
conda-${{ runner.os }}- | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
# Install tomlkit first to read pyproject.toml | |
mamba install -y -c conda-forge tomlkit pip make | |
# Use Python to get dependencies from pyproject.toml | |
DEPS=$(python -c " | |
import tomlkit | |
with open('pyproject.toml', 'r') as f: | |
pyproject = tomlkit.load(f) | |
deps = pyproject['project']['dependencies'] | |
dev_deps = pyproject['project']['optional-dependencies']['dev'] | |
all_deps = deps + dev_deps | |
print(' '.join(all_deps)) | |
") | |
# Install all dependencies | |
mamba install -y -c conda-forge $DEPS | |
- name: Install package | |
shell: bash -l {0} | |
run: | | |
pip install -e . | |
- name: Run tests | |
shell: bash -l {0} | |
run: | | |
make test |