Skip to content
Closed
98 changes: 49 additions & 49 deletions .github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,63 +18,54 @@ jobs:
include:
- name: 'check'
python: '3.11'
toxpython: 'python3.11'
tox_env: 'check'
os: 'ubuntu-latest'
python_arch: 'x64'
- name: 'docs'
python: '3.11'
toxpython: 'python3.11'
tox_env: 'docs'
os: 'ubuntu-latest'
python_arch: 'x64'
- name: 'py38 (ubuntu)'
python: '3.8'
toxpython: 'python3.8'
python_arch: 'x64'
tox_env: 'py38'
os: 'ubuntu-latest'
- name: 'py39 (ubuntu)'
python: '3.9'
toxpython: 'python3.9'
python_arch: 'x64'
tox_env: 'py39'
os: 'ubuntu-latest'
- name: 'py39 (windows)'
python: '3.9'
toxpython: 'python3.9'
python_arch: 'x64'
tox_env: 'py39'
os: 'windows-latest'
- name: 'py310 (ubuntu)'
python: '3.10'
toxpython: 'python3.10'
python_arch: 'x64'
tox_env: 'py310'
os: 'ubuntu-latest'
- name: 'py310 (windows)'
python: '3.10'
toxpython: 'python3.10'
python_arch: 'x64'
tox_env: 'py310'
os: 'windows-latest'
- name: 'py311 (ubuntu)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'x64'
tox_env: 'py311'
os: 'ubuntu-latest'
- name: 'py311 (macos)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'x64'
python_arch: 'arm64'
tox_env: 'py311'
os: 'macos-latest'
- name: 'py311 (windows)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'x64'
tox_env: 'py311'
os: 'windows-latest'

# - name: 'pypy38 (ubuntu)'
# python: 'pypy-3.8'
# toxpython: 'pypy3.8'
Expand All @@ -84,7 +75,7 @@ jobs:
# - name: 'pypy38 (macos)'
# python: 'pypy-3.8'
# toxpython: 'pypy3.8'
# python_arch: 'x64'
# python_arch: 'arm64'
# tox_env: 'pypy38'
# os: 'macos-latest'
# - name: 'pypy39 (ubuntu)'
Expand All @@ -96,7 +87,7 @@ jobs:
# - name: 'pypy39 (macos)'
# python: 'pypy-3.9'
# toxpython: 'pypy3.9'
# python_arch: 'x64'
# python_arch: 'arm64'
# tox_env: 'pypy39'
# os: 'macos-latest'

Expand All @@ -105,54 +96,69 @@ jobs:
with:
fetch-depth: 0
- uses: actions/setup-python@v5
id: setup
with:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.python_arch }}
- name: install dependencies

- name: test [linux]
if: runner.os == 'Linux'
run: |
${{ steps.setup.outputs.python-path }} -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r ci/requirements.txt
tox -e ${{ matrix.tox_env }} -v

- name: test [macos]
if: runner.os == 'macOS'
run: |
${{ steps.setup.outputs.python-path }} -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r ci/requirements.txt
# Install the project in editable mode, which also installs its dependencies
pip install -e .
# Install test-specific dependencies
pip install pytest pytest-cov
# Run pytest directly, bypassing tox for the test execution step
pytest --cov --cov-report=term-missing --cov-report=xml -vv tests

- name: test [windows]
if: runner.os == 'Windows'
shell: pwsh
run: |
python -mpip install --upgrade pip
python -mpip install --progress-bar=off -r ci/requirements.txt
virtualenv --version
pip --version
tox --version
pip list --format=freeze
- name: test
env:
TOXPYTHON: '${{ matrix.toxpython }}'
run: >
${{ steps.setup.outputs.python-path }} -m venv .venv
. .venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r ci/requirements.txt
tox -e ${{ matrix.tox_env }} -v

coveralls:
name: Upload coverage to Coveralls
if: github.ref == 'refs/heads/main' # Prevent from running on PRs, tags
if: github.ref == 'refs/heads/main'
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
id: setup
with:
python-version: '3.11'
architecture: 'x64'
- name: install dependencies
run: |
python -mpip install --upgrade pip
python -mpip install --progress-bar=off -r ci/requirements.txt
virtualenv --version
pip --version
tox --version
pip list --format=freeze
- name: generate coverage report
env:
TOXPYTHON: '3.11'
run: |
${{ steps.setup.outputs.python-path }} -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r ci/requirements.txt
tox -e py311

- name: Coveralls GitHub Action
uses: coverallsapp/[email protected]


deploy_docs:
name: Deploy docs to GitHub Pages
if: github.ref == 'refs/heads/main' # Prevent from running on PRs, tags
Expand All @@ -166,27 +172,21 @@ jobs:
with:
fetch-depth: 0
- uses: actions/setup-python@v5
id: setup
with:
python-version: '3.11'
architecture: 'x64'
- name: install dependencies
run: |
python -mpip install --upgrade pip
python -mpip install --progress-bar=off -r ci/requirements.txt
virtualenv --version
pip --version
tox --version
pip list --format=freeze

- name: generate docs
env:
TOXPYTHON: '3.11'
run: |
${{ steps.setup.outputs.python-path }} -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r ci/requirements.txt
tox -e docs -v
ls -l dist/docs
cp -r dist/docs _site/

- name: fix permissions # https://github.com/actions/upload-pages-artifact#file-permissions
- name: Fix permissions # https://github.com/actions/upload-pages-artifact#file-permissions
run: |
chmod -c -R +rX "_site/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Geothermal_district_heating_system_with_peaking_boilers.png

# TODO may want to add this to source
regenerate-schemas.sh
requirements_2025-08-11.txt

# C extensions
*.so
Expand Down
3 changes: 1 addition & 2 deletions ci/templates/.github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,10 @@ jobs:
{% endif %}
{% for os, python_arch in [
['ubuntu', 'x64'],
['macos', 'x64'],
['macos', 'arm64'],
] %}
- name: '{{ env }} ({{ os }})'
python: '{{ python }}'
toxpython: '{{ toxpython }}'
python_arch: '{{ python_arch }}'
tox_env: '{{ env }}'
os: '{{ os }}-latest'
Expand Down
Loading