Merge branch 'nix' of https://github.com/sheepforce/pysisyphus into s… #5377
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: Python application | |
on: | |
push: | |
paths-ignore: | |
- "docs/**" | |
- "examples/**" | |
- "scripts/**" | |
- "nix/**" | |
workflow_dispatch: | |
schedule: | |
- cron: '0 */12 * * *' | |
jobs: | |
buildNix: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v26 | |
with: | |
nix_path: nixpkgs=channel:nixpkgs-unstable | |
extra_nix_config: access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: pysisyphus | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- run: nix flake --allow-import-from-derivation check | |
- run: nix build --print-build-logs | |
- run: nix develop --command echo "" | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip- | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Upgrade pip | |
run: | | |
python -m pip install --upgrade pip | |
- name: Install pysisyphus and dependencies required for testing | |
run: | | |
python -m pip install -e .[test] -r test-requirements.txt | |
- name: Lint with flake8 | |
run: | | |
pip install flake8 | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --config flake8.ini | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --config flake8.ini | |
- name: Install thermoanalysis | |
run: | | |
pip install git+https://github.com/eljost/thermoanalysis.git | |
- name: Install geodesic-interpolate | |
run: | | |
pip install git+https://github.com/virtualzx-nad/geodesic-interpolate.git | |
- name: Test with pytest | |
run: > | |
pytest -v | |
--cov=pysisyphus --cov-config .coveragerc --cov-report xml --cov-report term | |
--color=yes | |
--show-capture=no | |
--durations=0 | |
-m "not benchmark and not skip_ci" | |
tests | |
- name: Upload coverage to codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
file: ./coverage.xml | |
flags: unittests | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |