From ab8dea336b1069cc603ce65bcfc6d87ce8ee473f Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Mon, 30 Oct 2023 10:28:07 +1100 Subject: [PATCH] fix: Cleanup build process with latest tooling versions * fix: Update build to reflect currently available versions of python Signed-off-by: Chris Butler * chore(deps): Update pre-commit config Signed-off-by: Chris Butler * fix: Update CICD OS testing to latest Signed-off-by: Chris Butler * fix: Correct for available python version Signed-off-by: Chris Butler --------- Signed-off-by: Chris Butler --- .github/workflows/tests.yml | 99 +++++++++++++++++++------------------ .pre-commit-config.yaml | 8 +-- pyproject.toml | 6 +-- tox.ini | 10 ++-- 4 files changed, 62 insertions(+), 61 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 96eab71..0a436b5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,28 +4,29 @@ on: push: branches: [main] tags-ignore: - - v* + - v* pull_request: + branches: [main] jobs: pre-commit: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.11 - uses: pre-commit/action@v3.0.0 tests: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [3.7, 3.9, 3.11] # alter to sweep currently GA'ed versions - os: [ubuntu-20.04, windows-latest] + python-version: [3.8, 3.11, 3.12] # sweep range of currently gaped + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v3 @@ -47,16 +48,16 @@ jobs: pytest --cov=mdformat_frontmatter --cov-report=xml --cov-report=term-missing - name: Upload to Codecov - if: matrix.os == 'ubuntu-20.04' && matrix.python-version == 3.9 + if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.11 uses: codecov/codecov-action@v1 with: - name: pytests-py3.9 + name: pytests-py3.11 flags: pytests file: ./coverage.xml fail_ci_if_error: true pre-commit-hook: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python @@ -73,50 +74,50 @@ jobs: run: | pre-commit run --config .pre-commit-test.yaml --all-files --verbose --show-diff-on-failure - tag_version: - needs: [pre-commit, tests, pre-commit-hook] - if: github.ref == 'refs/heads/main' && github.repository == 'butler54/mdformat-frontmatter' - runs-on: ubuntu-20.04 - steps: - - name: Checkout source - uses: actions/checkout@v3 - with: - submodules: true - fetch-depth: 0 - # needs to be a GH admins - token: ${{ secrets.ADMIN_WRITE_PAT }} - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - name: Install python release tools - run: pip install python-semantic-release flit - - - name: Release a new version to pypi - env: - PYPI_TOKEN: ${{ secrets.PYPI_KEY }} - GH_TOKEN: ${{ secrets.ADMIN_WRITE_PAT }} - run: | - git config --global user.name "semantic-release (via Github actions)" - git config --global user.email "semantic-release@github-actions" - semantic-release publish --verbosity=DEBUG - # publish: - # name: Publish to PyPi - # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') + # tag_version: + # needs: [pre-commit, tests, pre-commit-hook] + # if: github.ref == 'refs/heads/main' && github.repository == 'butler54/mdformat-frontmatter' # runs-on: ubuntu-20.04 # steps: # - name: Checkout source # uses: actions/checkout@v3 - # - name: Set up Python 3.9 - # uses: actions/setup-python@v1 + # with: + # submodules: true + # fetch-depth: 0 + # # needs to be a GH admins + # token: ${{ secrets.ADMIN_WRITE_PAT }} + # - name: Set up Python + # uses: actions/setup-python@v4 # with: # python-version: 3.9 - # - name: install flit - # run: | - # pip install flit~=3.0 - # - name: Build and publish - # run: | - # flit publish + # - name: Install python release tools + # run: pip install python-semantic-release flit + + # - name: Release a new version to pypi # env: - # FLIT_USERNAME: __token__ - # FLIT_PASSWORD: ${{ secrets.PYPI_KEY }} + # PYPI_TOKEN: ${{ secrets.PYPI_KEY }} + # GH_TOKEN: ${{ secrets.ADMIN_WRITE_PAT }} + # run: | + # git config --global user.name "semantic-release (via Github actions)" + # git config --global user.email "semantic-release@github-actions" + # semantic-release publish --verbosity=DEBUG + # # publish: + # # name: Publish to PyPi + # # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') + # # runs-on: ubuntu-20.04 + # # steps: + # # - name: Checkout source + # # uses: actions/checkout@v3 + # # - name: Set up Python 3.9 + # # uses: actions/setup-python@v1 + # # with: + # # python-version: 3.9 + # # - name: install flit + # # run: | + # # pip install flit~=3.0 + # # - name: Build and publish + # # run: | + # # flit publish + # # env: + # # FLIT_USERNAME: __token__ + # # FLIT_PASSWORD: ${{ secrets.PYPI_KEY }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c1cc26d..b84e6f0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: end-of-file-fixer - id: mixed-line-ending @@ -12,15 +12,15 @@ repos: hooks: - id: python-check-blanket-noqa - repo: https://github.com/timothycrosley/isort - rev: 5.11.4 + rev: 5.12.0 hooks: - id: isort - repo: https://github.com/psf/black - rev: 22.12.0 + rev: 23.10.1 hooks: - id: black - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 6.1.0 hooks: - id: flake8 additional_dependencies: diff --git a/pyproject.toml b/pyproject.toml index 2e1f687..728eac9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,14 +17,14 @@ classifiers = [ keywords = "mdformat,markdown,markdown-it" requires-python=">=3.7" -requires=["mdformat >=0.7.0,<0.8.0", - "mdit-py-plugins", +requires=["mdformat >=0.7.16,<0.8.0", + "mdit-py-plugins >=0.4.0", "ruamel.yaml" ] [tool.flit.metadata.requires-extra] test = [ - "pytest~=6.0", + "pytest>=7.3", "coverage", "pytest-cov" ] diff --git a/tox.ini b/tox.ini index aaf5893..126a5d1 100644 --- a/tox.ini +++ b/tox.ini @@ -1,20 +1,20 @@ [tox] -envlist = py{36,37,38} +envlist = py{38,311,313} isolated_build = True -[testenv:py{36,37,38}] +[testenv:py{38,311,312}] extras = test commands = pytest -vv {posargs} -[testenv:py{36,37,38}-cov] +[testenv:py{38,311,312}-cov] extras = test commands = pytest --cov={envsitepackagesdir}/mdformat_frontmatter {posargs} -[testenv:py{36,37,38}-pre-commit] +[testenv:py{38,311,312}-pre-commit] extras = dev commands = pre-commit run {posargs} -[testenv:py{36,37,38}-hook] +[testenv:py{38,311,312}-hook] extras = dev commands = pre-commit run --config .pre-commit-test.yaml {posargs:--all-files --verbose --show-diff-on-failure}