mirror of
https://github.com/netinvent/npbackup.git
synced 2025-09-05 20:44:51 +08:00
Add MacOS tests to actions
This commit is contained in:
parent
4941838243
commit
0dc9409f55
2 changed files with 92 additions and 0 deletions
37
.github/workflows/macos.yaml
vendored
Normal file
37
.github/workflows/macos.yaml
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
name: macos-tests
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest]
|
||||
# Python 3.3 and 3.4 have been removed since github won't provide these anymore
|
||||
# As of 2023/01/09, we have removed python 3.5 and 3.6 as they don't work anymore with linux on github actions
|
||||
# As of 2023/08/30, we have removed python 2.7 since github actions won't provide it anymore
|
||||
# As of 2024/09/15, we have (temporarily) removed 'pypy-3.10' and 'pypy-3.8' since msgspec won't compile properly
|
||||
# As of 2024/12/24, we have remove python 3.7 as they don't work anymore with linux on github actions
|
||||
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install --upgrade setuptools
|
||||
if [ -f npbackup/requirements.txt ]; then pip install -r npbackup/requirements.txt; fi
|
||||
- name: Generate Report
|
||||
env:
|
||||
RUNNING_ON_GITHUB_ACTIONS: true
|
||||
run: |
|
||||
pip install pytest coverage
|
||||
python -m coverage run -m pytest -vvs tests
|
||||
- name: Upload Coverage to Codecov
|
||||
uses: codecov/codecov-action@v3
|
55
.github/workflows/pylint-macos.yaml
vendored
Normal file
55
.github/workflows/pylint-macos.yaml
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
name: pylint-macos-tests
|
||||
|
||||
# Quick and dirty pylint
|
||||
|
||||
# pylint --disable=C,W1201,W1202,W1203,W0718,W0621,W0603,R0801,R0912,R0913,R0915,R0911,R0914,R0911,R1702,R0902,R0903,R0904 npbackup
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest]
|
||||
# python-version: [3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", 'pypy-3.6', 'pypy-3.7']
|
||||
python-version: ["3.13"]
|
||||
|
||||
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 dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install --upgrade setuptools
|
||||
if [ -f npbackup/requirements.txt ]; then python -m pip install -r npbackup/requirements.txt; fi
|
||||
if [ -f upgrade_server/requirements.txt ]; then python -m pip install -r upgrade_server/requirements.txt; fi
|
||||
- name: Lint with Pylint
|
||||
#if: ${{ matrix.python-version == '3.11' }}
|
||||
run: |
|
||||
python -m pip install pylint
|
||||
# Do not run pylint on python 3.3 because isort is not available for python 3.3, don't run on python 3.4 because pylint: disable=xxxx does not exist
|
||||
# Disable E0401 import error since we lint on linux and pywin32 is obviously missing
|
||||
python -m pylint --disable=C,W,R --max-line-length=127 npbackup
|
||||
python -m pylint --disable=C,W,R --max-line-length=127 upgrade_server/upgrade_server
|
||||
- name: Lint with flake8
|
||||
#if: ${{ matrix.python-version == '3.11' }}
|
||||
run: |
|
||||
python -m pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
python -m flake8 --count --select=E9,F63,F7,F82 --show-source --statistics npbackup
|
||||
python -m flake8 --count --select=E9,F63,F7,F82 --show-source --statistics upgrade_server/upgrade_server
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
python -m flake8 --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics npbackup
|
||||
python -m flake8 --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics upgrade_server
|
||||
- name: Lint with Black
|
||||
# Don't run on python < 3.6 since black does not exist there, run only once
|
||||
#if: ${{ matrix.python-version == '3.11' }}
|
||||
run: |
|
||||
pip install black
|
||||
python -m black --check npbackup
|
||||
python -m black --check upgrade_server/upgrade_server
|
Loading…
Add table
Reference in a new issue