Skip to content

Commit

Permalink
Merge branch 'dev' into trio
Browse files Browse the repository at this point in the history
  • Loading branch information
altendky committed Mar 9, 2021
2 parents 83bf250 + 1da8e5e commit 12af789
Show file tree
Hide file tree
Showing 73 changed files with 2,651 additions and 482 deletions.
3 changes: 2 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
omit =
pymodbus/repl/*
pymodbus/internal/*
pymodbus/server/asyncio.py
pymodbus/server/asyncio.py
pymodbus/server/reactive/*
307 changes: 307 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,307 @@
name: CI

on:
push:
branches:
- dev
- master
tags:
- v*
pull_request:
branches:
- "*"
schedule:
# Daily at 05:14
- cron: '14 5 * * *'

jobs:
test:
# Should match JOB_NAME below
name: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
runs-on: ${{ matrix.os.runs-on }}
container: ${{ matrix.os.container[matrix.python.docker] }}
# present runtime seems to be about 1 minute 30 seconds
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
task:
- name: Test
tox: test
coverage: true
os:
- name: Linux
runs-on: ubuntu-latest
matrix: linux
container:
2.7: docker://python:2.7-buster
3.6: docker://python:3.6-buster
3.7: docker://python:3.7-buster
3.8: docker://python:3.8-buster
3.9: docker://python:3.9-buster
pypy2: docker://pypy:2-jessie
pypy3: docker://pypy:3-stretch
- name: macOS
runs-on: macos-latest
matrix: macos
- name: Windows
runs-on: windows-latest
matrix: windows
openssl:
x86: win32
x64: win64
python:
- name: CPython 2.7
tox: py27
action: 2.7
docker: 2.7
matrix: 2.7
implementation: cpython
- name: PyPy 2.7
tox: pypy27
action: pypy-2.7
docker: pypy2.7
matrix: 2.7
implementation: pypy
openssl_msvc_version: 2019
- name: CPython 3.6
tox: py36
action: 3.6
docker: 3.6
matrix: 3.6
implementation: cpython
- name: CPython 3.7
tox: py37
action: 3.7
docker: 3.7
matrix: 3.7
implementation: cpython
- name: CPython 3.8
tox: py38
action: 3.8
docker: 3.8
matrix: 3.8
implementation: cpython
- name: CPython 3.9
tox: py39
action: 3.9
docker: 3.9
matrix: 3.9
implementation: cpython
- name: PyPy 3.6
tox: pypy36
action: pypy-3.6
docker: pypy3.6
matrix: 3.6
implementation: pypy
openssl_msvc_version: 2019
- name: PyPy 3.7
tox: pypy37
action: pypy-3.7
docker: pypy3.7
matrix: 3.7
implementation: pypy
openssl_msvc_version: 2019
arch:
- name: x86
action: x86
matrix: x86
- name: x64
action: x64
matrix: x64
exclude:
- os:
matrix: linux
arch:
matrix: x86
- os:
matrix: macos
arch:
matrix: x86
- os:
matrix: windows
python:
implementation: pypy
arch:
matrix: x64
env:
# Should match name above
JOB_NAME: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up ${{ matrix.python.name }} (if CPython)
if: ${{ job.container == '' && matrix.python.implementation == 'cpython'}}
uses: actions/setup-python@v2
with:
python-version: '${{ matrix.python.action }}.0-alpha - ${{ matrix.python.action }}.X'
architecture: '${{ matrix.arch.action }}'
- name: Set up ${{ matrix.python.name }} (if PyPy)
if: ${{ job.container == '' && matrix.python.implementation == 'pypy'}}
uses: actions/setup-python@v2
with:
python-version: '${{ matrix.python.action }}'
architecture: '${{ matrix.arch.action }}'
- name: Install
run: |
pip install --upgrade pip setuptools wheel
pip install --upgrade tox
- uses: twisted/[email protected]
- name: Add PyPy Externals
if: ${{ matrix.os.matrix == 'windows' && matrix.python.implementation == 'pypy'}}
env:
PYPY_EXTERNALS_PATH: ${{ github.workspace }}/pypy_externals
shell: bash
run: |
echo $PYPY_EXTERNALS_PATH
mkdir --parents $(dirname $PYPY_EXTERNALS_PATH)
hg clone https://foss.heptapod.net/pypy/externals/ $PYPY_EXTERNALS_PATH
dir $PYPY_EXTERNALS_PATH
cd $PYPY_EXTERNALS_PATH && hg update win32_14x
echo "INCLUDE=$PYPY_EXTERNALS_PATH/include;$INCLUDE" >> $GITHUB_ENV
echo "LIB=$PYPY_EXTERNALS_PATH/lib;$LIB" >> $GITHUB_ENV
# echo "CL=${{ matrix.PYTHON.CL_FLAGS }}" >> $GITHUB_ENV
- name: Add Brew
if: ${{ matrix.os.matrix == 'macos' && matrix.python.implementation == 'pypy'}}
shell: bash
run: |
brew install [email protected] rust
echo "LDFLAGS=-L$(brew --prefix [email protected])/lib" >> $GITHUB_ENV
echo "CFLAGS=-I$(brew --prefix [email protected])/include" >> $GITHUB_ENV
- name: rustup
if: ${{ matrix.os.matrix == 'windows' && matrix.python.implementation == 'pypy'}}
shell: bash
run: |
rustup target add i686-pc-windows-msvc
- name: Test
env:
# When compiling Cryptography for PyPy on Windows there is a cleanup
# failure. This is CI, it doesn't matter.
PIP_NO_CLEAN: 1
run: |
tox -vv -e ${{ matrix.python.tox }}
- name: Coverage Processing
if: matrix.task.coverage
run: |
mkdir coverage_reports
cp .coverage "coverage_reports/.coverage.${{ env.JOB_NAME }}"
cp coverage.xml "coverage_reports/coverage.${{ env.JOB_NAME }}.xml"
- name: Upload Coverage
if: matrix.task.coverage
uses: actions/upload-artifact@v2
with:
name: coverage
path: coverage_reports/*
check:
# Should match JOB_NAME below
name: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
runs-on: ${{ matrix.os.runs-on }}
container: ${{ matrix.os.container[matrix.python.docker] }}
strategy:
fail-fast: false
matrix:
task:
- name: flake8
tox: flake8
continue_on_error: true
- name: Docs
tox: docs
os:
- name: Linux
runs-on: ubuntu-latest
matrix: linux
container:
3.8: docker://python:3.8-buster
python:
- name: CPython 3.8
tox: py38
action: 3.8
docker: 3.8
implementation: cpython
arch:
- name: x64
action: x64
matrix: x64
env:
# Should match name above
JOB_NAME: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install
run: |
pip install --upgrade pip setuptools wheel
pip install --upgrade tox
- uses: twisted/[email protected]
- name: Test
continue-on-error: ${{ matrix.task.continue_on_error == true }}
run: |
tox -vv -e ${{ matrix.task.tox }}
coverage:
# Should match JOB_NAME below
name: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
runs-on: ${{ matrix.os.runs-on }}
if: always()
needs:
- test
container: ${{ matrix.os.container[matrix.python.docker] }}
strategy:
fail-fast: false
matrix:
task:
- name: Coverage
tox: combined-coverage
download_coverage: true
os:
- name: Linux
runs-on: ubuntu-latest
matrix: linux
container:
3.8: docker://python:3.8-buster
python:
- name: CPython 3.8
tox: py38
action: 3.8
docker: 3.8
implementation: cpython
arch:
- name: x64
action: x64
matrix: x64
env:
# Should match name above
JOB_NAME: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install
run: |
pip install --upgrade pip setuptools wheel
pip install --upgrade tox
pip install --upgrade six
- uses: twisted/[email protected]
- name: Download Coverage
if: matrix.task.download_coverage
uses: actions/download-artifact@v2
with:
name: coverage
path: coverage_reports
- name: Test
continue-on-error: ${{ matrix.task.continue_on_error == true }}
run: |
tox -vv -e ${{ matrix.task.tox }}
all:
name: All
runs-on: ubuntu-latest
needs:
- check
- coverage
- test
steps:
- name: This
shell: python
run: |
import this
30 changes: 30 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Mark stale issues and pull requests

on:
schedule:
- cron: "30 1 * * *"

jobs:
stale:

runs-on: ubuntu-latest

steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.'
days-before-issue-stale: 30
days-before-pr-stale: 45
days-before-issue-close: 5
days-before-pr-close: 10
stale-issue-label: 'no-issue-activity'
exempt-issue-labels: 'Bug,Enhancements,Investigating,in progress,Documentation Update Required,3.x'
stale-pr-label: 'no-pr-activity'
exempt-pr-labels: 'IN REVIEW,Reviewing,Draft,in progress,3.x,2.5.0'
remove-stale-when-updated: true
# only-labels: "More Information Required, Not an Issue, question, Won't Do"

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ test/__pycache__/
/doc/_build/
.pytest_cache/
**/.pymodhis
/build/
/dist/
35 changes: 0 additions & 35 deletions .travis.yml

This file was deleted.

Loading

0 comments on commit 12af789

Please sign in to comment.