diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 96d9a7c..8195086 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -14,18 +14,22 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-latest, ubuntu-18.04, ubuntu-20.04, windows-latest] - python-version: ['3.7', '3.8', '3.9', '3.10'] + os: [macos-latest, ubuntu-20.04, ubuntu-22.04, windows-latest] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - uses: actions/cache@v1 + - uses: actions/setup-node@v3 + with: + node-version: '16' + + - uses: actions/cache@v3 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip @@ -33,7 +37,7 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - - uses: actions/cache@v1 + - uses: actions/cache@v3 if: startsWith(runner.os, 'macOS') with: path: ~/Library/Caches/pip @@ -41,7 +45,7 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - - uses: actions/cache@v1 + - uses: actions/cache@v3 if: startsWith(runner.os, 'Windows') with: path: ~\AppData\Local\pip\Cache @@ -65,29 +69,22 @@ jobs: # Have to install newer version from non-apt source due to SSL library compatibility issues. - name: Install tools (Linux) - if: matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' run: | - sudo apt install curl - curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh - sudo bash nodesource_setup.sh - sudo apt install nodejs - sudo npm install -g n - sudo n stable - sudo npm install -g eslint + npm install -g eslint # eslint plugins and configs should be installed locally # https://eslint.org/docs/user-guide/migrating-to-6.0.0#plugins-and-shareable-configs-are-no-longer-affected-by-eslints-location npm install --prefix $HOME/.node_modules eslint-plugin-html npm install --prefix $HOME/.node_modules eslint-plugin-prettier npm install --prefix $HOME/.node_modules eslint-config-prettier - sudo npm config set prefix -g /usr/local - sudo npm install -g htmllint-cli - sudo npm install -g jshint - sudo npm install -g markdownlint-cli - sudo npm install -g prettier - sudo npm install -g postcss-html # needed for stylelint to process html - sudo npm install -g stylelint - sudo npm install -g stylelint-config-standard - rm nodesource_setup.sh + npm config set prefix -g /usr/local + npm install -g htmllint-cli + npm install -g jshint + npm install -g markdownlint-cli + npm install -g prettier + npm install -g postcss-html # needed for stylelint to process html + npm install --prefix $HOME/.node_modules stylelint + npm install --prefix $HOME/.node_modules stylelint-config-standard - name: Mypy run: | @@ -98,17 +95,17 @@ jobs: python -m tox - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 with: fail_ci_if_error: false - name: Statick Documentation - if: matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' run: | statick . --check --profile documentation.yaml - name: Self check - if: matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' run: | mkdir statick-output statick . --output-directory statick-output --check --profile self_check.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index f98dbbe..2479fa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Added -### Fixed +- Ubuntu 22.04 used in continuous integration workflows. +- Python 3.11 used in continuous integration workflows. + +### Changed + +- Update GitHub Actions to use latest versions. ## v0.1.1 - 2022-10-11 @@ -21,6 +26,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Pin flake8<5 and pycodestyle<2.9.0 until is fixed. +- Ubuntu 18.04 removed from continuous integration workflows. + ## v0.1.0 - 2022-01-04 ### Removed diff --git a/setup.py b/setup.py index 2a870a3..8293206 100644 --- a/setup.py +++ b/setup.py @@ -47,6 +47,7 @@ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", "Topic :: Software Development :: Testing", ], ) diff --git a/tox.ini b/tox.ini index de38a5f..c08d4f5 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py37, py38, py39, py310 +envlist = py37, py38, py39, py310, py311 skip_missing_interpreters = true [pytest] @@ -28,6 +28,7 @@ python = 3.8: py38 3.9: py39 3.10: py310 + 3.11: py311 [testenv] changedir = {toxinidir}/output-{envname}