forked from autokey/autokey
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request autokey#778 from userdocs/master
workflow python-test.yml updated to work with ubuntu-latest
- Loading branch information
Showing
2 changed files
with
133 additions
and
134 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,163 +4,164 @@ | |
name: Python test | ||
|
||
on: | ||
# workflow_dispatch: | ||
push: | ||
# paths: | ||
# - "**.py" | ||
# Test on tags to ensure that the version metadata has been updated in tag as well. | ||
tags: | ||
- '*' | ||
branches: [ CI, master, develop, beta ] | ||
- "*" | ||
branches: [master, develop, beta] | ||
pull_request: | ||
branches: [ master, develop, beta ] | ||
branches: [master, develop, beta] | ||
|
||
jobs: | ||
Lint: | ||
|
||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
python-version: [3.6, 3.10.1] | ||
python-version: ["3.7", "3.10"] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Cache pip | ||
uses: actions/cache@v2 | ||
with: | ||
# This path is specific to Ubuntu | ||
path: ~/.cache/pip | ||
# Look to see if there is a cache hit for the corresponding requirements file | ||
key: ${{ runner.os }}-pip-${{ hashFiles('pip-requirements.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
${{ runner.os }}- | ||
- name: Install dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install flake8 wheel | ||
pip install -r pip-requirements.txt | ||
- name: Python Code Quality and Lint | ||
uses: ricardochaves/[email protected] | ||
with: | ||
python-root-list: "lib/autokey tests" | ||
use-pylint: false | ||
use-pycodestyle: false | ||
use-flake8: true | ||
use-black: false | ||
use-mypy: false | ||
use-isort: false | ||
extra-pylint-options: "" | ||
extra-pycodestyle-options: "" | ||
# select = stop the build if there are Python syntax errors or undefined names | ||
# exit-zero treats all errors as warnings. | ||
# "_" is part of gettext, not actually a built-in, but used almost | ||
# everywhere without explicit definition. | ||
# The GitHub editor is 127 chars wide. | ||
extra-flake8-options: > | ||
--count | ||
--select=E9,F63,F7,F82 | ||
--show-source | ||
--statistics | ||
--builtins=_ | ||
--max-complexity=10 | ||
--max-line-length=127 | ||
extra-black-options: "" | ||
extra-mypy-options: "" | ||
extra-isort-options: "" | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "${{ matrix.python-version }}" | ||
|
||
- name: Cache pip | ||
uses: actions/cache@v3 | ||
with: | ||
# This path is specific to Ubuntu | ||
path: ~/.cache/pip | ||
# Look to see if there is a cache hit for the corresponding requirements file | ||
key: ${{ runner.os }}-pip-${{ hashFiles('pip-requirements.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
${{ runner.os }}- | ||
- name: Install dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install flake8 wheel | ||
pip install -r pip-requirements.txt | ||
- name: Python Code Quality and Lint | ||
uses: ricardochaves/[email protected] | ||
with: | ||
python-root-list: "lib/autokey tests" | ||
use-pylint: false | ||
use-pycodestyle: false | ||
use-flake8: true | ||
use-black: false | ||
use-mypy: false | ||
use-isort: false | ||
extra-pylint-options: "" | ||
extra-pycodestyle-options: "" | ||
# select = stop the build if there are Python syntax errors or undefined names | ||
# exit-zero treats all errors as warnings. | ||
# "_" is part of gettext, not actually a built-in, but used almost | ||
# everywhere without explicit definition. | ||
# The GitHub editor is 127 chars wide. | ||
extra-flake8-options: > | ||
--count | ||
--select=E9,F63,F7,F82 | ||
--show-source | ||
--statistics | ||
--builtins=_ | ||
--max-complexity=10 | ||
--max-line-length=127 | ||
extra-black-options: "" | ||
extra-mypy-options: "" | ||
extra-isort-options: "" | ||
|
||
pytest: | ||
|
||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
python-version: [3.6, 3.10.1] | ||
python-version: ["3.7", "3.10"] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Cache pip | ||
uses: actions/cache@v2 | ||
with: | ||
# This path is specific to Ubuntu | ||
path: ~/.cache/pip | ||
# Look to see if there is a cache hit for the corresponding requirements file | ||
key: ${{ runner.os }}-pip-${{ hashFiles('pip-requirements.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
${{ runner.os }}- | ||
- name: Install dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install flake8 tox pytest pytest-cov wheel | ||
pip install -r pip-requirements.txt | ||
- name: Test with tox and pytest | ||
run: | | ||
tox -e clean,coverage,report | ||
- name: Upload pytest test results | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: pytest-results-${{ matrix.python-version }} | ||
path: junit/test-results-${{ matrix.python-version }}.xml | ||
# Use always() to always run this step to publish test results when there are test failures | ||
if: ${{ always() }} | ||
|
||
- name: Archive test coverage report | ||
run: | | ||
tar -cvzf test_coverage_report-${{ matrix.python-version }}.tar.gz test_coverage_report_html/ | ||
- name: Upload test coverage report | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: test_coverage_report-${{ matrix.python-version }}.tar.gz | ||
path: test_coverage_report-${{ matrix.python-version }}.tar.gz | ||
# Use always() to always run this step to publish test results when there are test failures | ||
if: ${{ always() }} | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "${{ matrix.python-version }}" | ||
|
||
- name: Cache pip | ||
uses: actions/cache@v3 | ||
with: | ||
# This path is specific to Ubuntu | ||
path: ~/.cache/pip | ||
# Look to see if there is a cache hit for the corresponding requirements file | ||
key: ${{ runner.os }}-pip-${{ hashFiles('pip-requirements.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
${{ runner.os }}- | ||
- name: Install dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install flake8 tox pytest pytest-cov wheel | ||
pip install -r pip-requirements.txt | ||
- name: Test with tox and pytest | ||
run: tox -e clean,coverage,report | ||
|
||
- name: Upload pytest test results | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: pytest-results-${{ matrix.python-version }} | ||
path: junit/test-results-${{ matrix.python-version }}.xml | ||
# Use always() to always run this step to publish test results when there are test failures | ||
if: ${{ always() }} | ||
|
||
- name: Archive test coverage report | ||
run: tar -cvzf test_coverage_report-${{ matrix.python-version }}.tar.gz test_coverage_report_html/ | ||
|
||
- name: Upload test coverage report | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: test_coverage_report-${{ matrix.python-version }}.tar.gz | ||
path: test_coverage_report-${{ matrix.python-version }}.tar.gz | ||
# Use always() to always run this step to publish test results when there are test failures | ||
if: ${{ always() }} | ||
|
||
test-install: | ||
# Just runs basic app options to ensure pip installation has included relevant imports and put app in path. | ||
|
||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
python-version: [3.6, 3.10.1] | ||
python-version: ["3.7", "3.10"] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install OS dependencies only | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install dbus-python gobject pygobject PyQt5 qscintilla | ||
- name: Test installation | ||
run: | | ||
pip install "${GITHUB_WORKSPACE}" | ||
autokey-gtk --help | ||
# qt xcb module requires a display to connect to, so won't work. | ||
# export QT_DEBUG_PLUGINS=1 | ||
# autokey-qt --help | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "${{ matrix.python-version }}" | ||
|
||
- name: Install OS dependencies only | ||
run: | | ||
sudo apt update | ||
sudo apt install $(cat apt-requirements.txt) | ||
python -m pip install --upgrade pip | ||
pip install dbus-python gobject pygobject PyQt5 qscintilla | ||
- name: Test installation | ||
run: | | ||
pip install "${GITHUB_WORKSPACE}" | ||
autokey-gtk --help | ||
# qt xcb module requires a display to connect to, so won't work. | ||
# export QT_DEBUG_PLUGINS=1 | ||
# autokey-qt --help |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters