mirror of
https://github.com/tdulcet/Table-and-Graph-Libs.git
synced 2025-05-05 21:41:12 +08:00
90 lines
3.4 KiB
YAML
90 lines
3.4 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 0 1 * *'
|
|
|
|
jobs:
|
|
Linux:
|
|
name: Linux C++
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-20.04, ubuntu-22.04]
|
|
cxx: [g++, clang++]
|
|
fail-fast: false
|
|
env:
|
|
CXX: ${{ matrix.cxx }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Before script
|
|
run: |
|
|
sudo apt-get -yqq update
|
|
sudo apt-get -yqq install cppcheck
|
|
$CXX --version
|
|
- name: Script
|
|
run: |
|
|
$CXX -std=c++14 -Wall -g -Og -fsanitize=address,undefined tables.cpp -o tables
|
|
./tables
|
|
$CXX -std=c++14 -Wall -g -Og -fsanitize=address,undefined graphs.cpp -o graphs
|
|
./graphs
|
|
- name: Cppcheck
|
|
run: cppcheck --enable=all .
|
|
- name: Clang-Tidy
|
|
if: ${{ matrix.cxx == 'clang++' }}
|
|
run: clang-tidy -checks='bugprone-*,-bugprone-easily-swappable-parameters,cert-*,clang-analyzer-*,misc-const-correctness,misc-redundant-expression,misc-unused-*,modernize-*,-modernize-use-trailing-return-type,performance-*,portability-*,readability-const-return-type,readability-container-*,readability-duplicate-include,readability-else-after-return,readability-non-const-parameter,readability-redundant-*,readability-simplify-*,readability-string-compare,readability-use-anyofallof' -header-filter='.*' *.cpp -- -Wall -O3 -std=c++17
|
|
|
|
Pylint:
|
|
name: Pylint
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install pylint
|
|
- name: Script
|
|
run: pylint -f colorized --py-version 3.7 -d design,C0103,W0311,C0301,C0302,C0209 --load-plugins pylint.extensions.code_style,pylint.extensions.emptystring,pylint.extensions.comparetozero,pylint.extensions.comparison_placement,pylint.extensions.for_any_all,pylint.extensions.consider_refactoring_into_while_condition,pylint.extensions.consider_ternary_expression,pylint.extensions.dict_init_mutate,pylint.extensions.docstyle,pylint.extensions.check_elif,pylint.extensions.set_membership,pylint.extensions.typing -e R6104 -r y python/*.py
|
|
continue-on-error: true
|
|
|
|
Ruff:
|
|
name: Ruff
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install ruff
|
|
- name: Script
|
|
run: ruff --output-format=github --target-version py37 --select F,E,W,I,D,UP,YTT,S,BLE,B,A,C4,T10,EM,EXE,ISC,ICN,G,PIE,PYI,Q,RSE,RET,SLF,SLOT,SIM,TID,TCH,ARG,PGH,PL,TRY,FLY,PERF,FURB,LOG,RUF --preview --ignore E101,E501,W191,D211,D213,D401,PLR09,PLR2004,RUF001,RUF002,RUF003 .
|
|
continue-on-error: true
|
|
|
|
Python:
|
|
name: Linux Python
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "pypy3.7", "pypy3.8", "pypy3.9", "pypy3.10"]
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install wcwidth
|
|
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
- name: Script
|
|
run: |
|
|
python -X dev python/test.py
|