Skip to content
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

Revert "Release 1.2.10 (#186)" #189

Merged
merged 1 commit into from
Jun 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[flake8]
exclude =
.git
__pycache__
build
dist
examples
autotest
ignore =
# https://flake8.pycqa.org/en/latest/user/error-codes.html
F401,
# https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes
# Indentation
E121, E122, E126, E127, E128,
# Whitespace
E203, E221, E222, E226, E231, E241,
# Import
E402,
# Line length
E501, E502,
# Statement
E722, E741,
# Whitespace warning
W291, W292, W293,
# Blank line warning
W391,
# Line break warning
W503, W504
statistics = True
192 changes: 0 additions & 192 deletions .github/workflows/ci.yml

This file was deleted.

80 changes: 80 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: pymake continuous integration

on:
schedule:
- cron: '0 7 * * *' # run at 7 AM UTC every day
push:
pull_request:
branches:
- master
jobs:

pymakeCI-os-intel:
name: pymake CI intel on different OSs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-2019]
defaults:
run:
shell: bash

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Intel Fortran Classic
uses: fortran-lang/setup-fortran@v1
with:
compiler: intel-classic
version: "2021.7"

- name: Setup Graphviz
if: runner.os == 'Linux'
uses: ts-graphviz/setup-graphviz@v2

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install python packages
run: |
python -m pip install --upgrade pip
pip install ".[test]"

- name: Download examples for pytest runs
run: |
.github/common/download-examples.sh

- name: test on Linux
if: runner.os == 'Linux'
working-directory: ./autotest
run: |
pytest -v -n=auto --dist=loadfile -m="base or regression" --durations=0 --cov=pymake --cov-report=xml

- name: test on MacOS
if: runner.os == 'macOS'
working-directory: ./autotest
run: |
pytest -v -n=auto --dist=loadfile -m="base" --durations=0 --cov=pymake --cov-report=xml

- name: test on Windows
if: runner.os == 'Windows'
working-directory: ./autotest
shell: cmd
run: |
pytest -v -m="base" --durations=0 --cov=pymake --cov-report=xml --basetemp=pytest_temp

- name: Print coverage report before upload
working-directory: ./autotest
run: |
coverage report

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: ./autotest/coverage.xml
80 changes: 80 additions & 0 deletions .github/workflows/pymake-gcc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: pymake gcc build

on:
schedule:
- cron: '0 7 * * *' # run at 7 AM UTC every day
push:
pull_request:
branches:
- master
jobs:

pymakeCI-os-gcc:
name: pymake CI gcc on different OSs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# test latest gcc and python
- {os: ubuntu-latest, gcc: 13, python: "3.12"}
- {os: windows-latest, gcc: 13, python: "3.12"}
- {os: macos-latest, gcc: 13, python: "3.12"}
# test latest gcc and previous python
- {os: ubuntu-latest, gcc: 13, python: "3.11"}
- {os: ubuntu-latest, gcc: 13, python: "3.10"}
- {os: ubuntu-latest, gcc: 13, python: 3.9}
- {os: ubuntu-latest, gcc: 13, python: 3.8}
# test latest python and previous gcc
- {os: ubuntu-latest, gcc: 12, python: "3.12"}
- {os: ubuntu-latest, gcc: 11, python: "3.12"}
defaults:
run:
shell: bash

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Graphviz on Linux
if: runner.os == 'Linux'
uses: ts-graphviz/setup-graphviz@v2

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: Install python packages
run: |
python -m pip install --upgrade pip
pip install ".[test]"

- name: Setup GNU Fortran
uses: fortran-lang/setup-fortran@v1
with:
compiler: gcc
version: ${{ matrix.gcc }}

- name: Download examples for pytest runs
run: .github/common/download-examples.sh

- name: Run pytest
working-directory: ./autotest
run: |
markers="base"
if [[ ${{ matrix.gcc }} == 13 ]]; then
markers="base or regression"
fi
pytest -v --dist=loadfile -n=auto --durations=0 --basetemp=pytest_temp --cov=pymake --cov-report=xml --cov-append -m "$markers"

- name: Print coverage report before upload
working-directory: ./autotest
run: coverage report

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: ./autotest/coverage.xml
Loading
Loading