Skip to content

macos-latest architecture fix #98

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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