Skip to content

[PATCH] Prep Development Cycle for 2.0 #135

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

Merged
merged 4 commits into from
Sep 28, 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
6 changes: 0 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ version: 2.1
jobs:
build:
docker:
- image: cimg/python:3.7
- image: cimg/python:3.8
- image: cimg/python:3.9
- image: cimg/python:3.10
- image: cimg/python:3.11
- image: cimg/python:3.12
Expand Down Expand Up @@ -41,9 +38,6 @@ jobs:

test:
docker:
- image: cimg/python:3.7
- image: cimg/python:3.8
- image: cimg/python:3.9
- image: cimg/python:3.10
- image: cimg/python:3.11
- image: cimg/python:3.12
Expand Down
36 changes: 31 additions & 5 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,33 @@
Multicast:
- changed-files:
- any-glob-to-any-file:
- setup.py
- 'setup.*'
- multicast/*.py
- LICENSE
- LICENSE.md
- pyproject.toml

# Add 'Lint' label to any lint file changes
Linter:
- changed-files:
- any-glob-to-any-file:
- .hound.yml
- .yamllint.conf
- .flake8.ini
- .deepsource.toml
- tests/check_s*
- tests/check_c*
- tests/check_pip

# Add 'bash lang' label to any bash file changes
Bash Lang:
- changed-files:
- any-glob-to-any-file:
- tests/*.bash
- tests/check_*
- .github/*.bash
- .github/*.sh
- .circleci/*.bash
- '*.bash'

# Add 'Lang' label to any python file changes
Python Lang:
Expand All @@ -28,13 +41,24 @@ Configs:
- changed-files:
- any-glob-to-any-file:
- '*.yml'
- ./**/*.yml
- './**/*.yml'
- './.**/*.yml'
- '*.ini'
- '*.toml'
- '*.cfg'
- '*.conf'
- requirements.txt
- test-requirements.txt
- tests/requirements.txt
- docs/requirements.txt

documentation:
- changed-files:
- any-glob-to-any-file:
- '*.md'
- './**/*.md'
- docs/**/*
- docs/*

# Add 'test' label
Testing:
Expand All @@ -51,8 +75,6 @@ CI:
- any-glob-to-any-file:
- tests/*.py
- tests/requirements.txt
- .stickler.yml
- .hound.yml
- .travis.yml
- .appveyor.yml
- .github/workflows/*
Expand All @@ -64,3 +86,7 @@ Github:
- .github/**/*
- .github/*
- README.md

invalid:
- .stickler.yml
- .hound.yml
138 changes: 22 additions & 116 deletions .github/workflows/Tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,26 +54,20 @@
strategy:
fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12"]
lang-var: ["de.utf-8", "jp.utf-8"]
experimental: [true]
include:
- python-version: 3.7
lang-var: "en_US.utf-8"
experimental: false
- python-version: 3.8
lang-var: "en_US.utf-8"
experimental: false
- python-version: 3.9
- python-version: "3.10"
lang-var: "de.utf-8"
experimental: false
- python-version: 3.9
- python-version: "3.10"
lang-var: "jp.utf-8"
experimental: false
- python-version: 3.9
- python-version: "3.10"
lang-var: "en_US.utf-8"
experimental: false
- python-version: "3.10"
- python-version: "3.11"
lang-var: "en_US.utf-8"
experimental: false
- python-version: "3.11"
Expand All @@ -93,7 +87,7 @@
python-version: ${{ matrix.python-version }}
- name: Set up dependencies
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
- name: Pre-build
id: bootstrap
Expand Down Expand Up @@ -136,10 +130,10 @@
defaults:
run:
shell: bash
timeout-minutes: 10
timeout-minutes: 8
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12"]
env:
PYTHON_VERSION: ${{ matrix.python-version }}
LANG: "en_US.utf-8"
Expand All @@ -151,7 +145,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for ${{ matrix.python-version }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=45.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand All @@ -172,99 +166,15 @@
if: ${{ always() }}


COVERAGE-MATS:
COVERAGE:
if: ${{ success() }}
needs: [BUILD, MATS]
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.11", "3.12"]
env:
OS: ${{ matrix.os }}
PYTHON_VERSION: ${{ matrix.python-version }}
LANG: "en_US.utf-8"
COVERAGE_RCFILE: ./.coveragerc
COV_CORE_SOURCE: ./
COV_CORE_CONFIG: ./.coveragerc
COV_CORE_DATAFILE: ./coverage.xml
CODECLIMATE_REPO_TOKEN: ${{ secrets.CODECLIMATE_TOKEN }}
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
- name: Install code-climate tools for ${{ matrix.python-version }} on ${{ matrix.os }}
if: ${{ !cancelled() && runner.os == 'Linux' }}
shell: bash
run: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter || true ;
chmod +x ./cc-test-reporter 2>/dev/null || true ;
./cc-test-reporter before-build || true ;
- name: Install deepsource tools for ${{ matrix.python-version }} on ${{ matrix.os }}
if: ${{ !cancelled() && runner.os == 'Linux' }}
shell: bash
run: |
(curl https://deepsource.io/cli | sh) || true ;
- name: Pre-Clean
id: clean
run: make -j1 -f Makefile clean || true ;
- name: Generate Coverage for py3.9 on ${{ matrix.os }}
if: ${{ runner.python-version == '3.9' }}
run: make -f Makefile test ;
- name: Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }}
if: ${{ runner.python-version != '3.9' }}
run: make -f Makefile test-pytest ;
- name: Upload Python ${{ matrix.python-version }} coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
directory: .
flags: multicast,${{ matrix.os }},${{ matrix.python-version }}
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }}
verbose: true
fail_ci_if_error: false
- name: Upload Python ${{ matrix.python-version }} Artifact
uses: actions/upload-artifact@v4
with:
name: Test-Report-${{ matrix.os }}-${{ matrix.python-version }}
path: ./test-reports/
if-no-files-found: ignore
- name: code-climate for ${{ matrix.python-version }}
if: ${{ !cancelled() && runner.os == 'Linux' }}
shell: bash
run: |
./cc-test-reporter after-build --exit-code 0 || true ;
- name: deepsource for ${{ matrix.python-version }}
if: ${{ !cancelled() && runner.os == 'Linux' }}
shell: bash
run: |
./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml 2>/dev/null || true ;
- name: Post-Clean
id: post
run: make -j1 -f Makefile clean || true ;
if: ${{ always() }}

COVERAGE:
if: ${{ success() }}
needs: [BUILD, MATS, COVERAGE-MATS]
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
matrix:
os: [ubuntu-latest, macos-13, windows-latest]
python-version: [3.7, 3.8, 3.9, "3.10"]
python-version: ["3.10", "3.11", "3.12"]
env:
OS: ${{ matrix.os }}
PYTHON_VERSION: ${{ matrix.python-version }}
Expand All @@ -284,7 +194,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install --upgrade -r ./requirements.txt ;
pip install --upgrade -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand All @@ -303,11 +213,7 @@
- name: Pre-Clean
id: clean
run: make -j1 -f Makefile clean || true ;
- name: Generate Coverage for py3.9 on ${{ matrix.os }}
if: ${{ runner.python-version == '3.9' }}
run: make -f Makefile test >> $GITHUB_STEP_SUMMARY ;
- name: Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }}
if: ${{ runner.python-version != '3.9' }}
run: make -f Makefile test-pytest >> $GITHUB_STEP_SUMMARY ;
- name: Upload Python ${{ matrix.python-version }} coverage to Codecov
uses: codecov/codecov-action@v4
Expand Down Expand Up @@ -351,18 +257,18 @@
timeout-minutes: 10

env:
PYTHON_VERSION: '3.10'
PYTHON_VERSION: '3.12'
LANG: "en_US.utf-8"

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install dependencies for python Linters
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.2";
pip install --upgrade -r ./requirements.txt ;
pip install --upgrade -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand Down Expand Up @@ -407,7 +313,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install --upgrade -r ./requirements.txt ;
pip install --upgrade -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand Down Expand Up @@ -518,7 +424,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
- name: Pre-Clean
Expand Down Expand Up @@ -591,7 +497,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand Down Expand Up @@ -658,7 +564,7 @@
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand Down Expand Up @@ -694,7 +600,7 @@

TOX:
if: ${{ success() }}
needs: [MATS, COVERAGE-MATS, STYLE, COVERAGE, INTEGRATION, DOCS]
needs: [MATS, STYLE, COVERAGE, INTEGRATION, DOCS]
runs-on: ubuntu-latest
timeout-minutes: 30

Expand All @@ -712,13 +618,13 @@
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Prep Testing Tox
id: prep-tox
run: |
if [ "$OS" == "ubuntu-latest" ] ; then { apt-get update || true ;} ; wait ; { apt-get install --assume-yes python python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 || echo "::warning file=.github/workflows/Tests.yml,line=715,endLine=718,title=SKIPPED::SKIP Enhanced TOX Tests." ;} ; wait ; fi
if [ "$OS" == "ubuntu-latest" ] ; then { apt-get update || true ;} ; wait ; { apt-get install --assume-yes python3.10 python3.11 || echo "::warning file=.github/workflows/Tests.yml,line=621,endLine=624,title=SKIPPED::SKIP Enhanced TOX Tests." ;} ; wait ; fi

Check warning on line 624 in .github/workflows/Tests.yml

View workflow job for this annotation

GitHub Actions / TOX

SKIPPED

SKIP Enhanced TOX Tests.
- name: Install dependencies for Tox
run: |
pip install --upgrade "pip>=21.0" "setuptools>=45.0" "wheel>=0.37" "build>=1.0.1";
pip install --upgrade "pip>=22.0" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install --upgrade -r ./requirements.txt ;
pip install --upgrade -r ./tests/requirements.txt || true ;
pip install --upgrade -r ./docs/requirements.txt || true ;
Expand Down
5 changes: 0 additions & 5 deletions .hound.yml

This file was deleted.

11 changes: 0 additions & 11 deletions .stickler.yml

This file was deleted.

4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@
# built documents.
#
# The short X.Y version.
version = "v1.5"
version = "v2.0"
# The full version, including alpha/beta/rc tags.
release = "v1.5.0-alpha"
release = "v2.0.0-alpha"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Loading
Loading