82 lines
1.7 KiB
YAML
82 lines
1.7 KiB
YAML
##############################
|
|
# code testing and analysis #
|
|
#############################
|
|
# branch: all
|
|
# event: all
|
|
|
|
platform: linux/amd64
|
|
|
|
clone:
|
|
git:
|
|
image: woodpeckerci/plugin-git:v1.6.0
|
|
|
|
pipeline:
|
|
|
|
# check code style - shell
|
|
test-shfmt:
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_shfmt
|
|
|
|
# check code style - python
|
|
test-black:
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_black
|
|
|
|
# check static typing - python
|
|
test-mypy:
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_mypy
|
|
|
|
# ruff test - python
|
|
test-pylint:
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_ruff
|
|
|
|
# test mkdocs generation
|
|
test-mkdocs:
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- python3 -m pip install mkdocs
|
|
- cd docs || exit 1
|
|
- python3 -m mkdocs build --strict
|
|
|
|
# test code with pytest - python
|
|
test-tox-pytest:
|
|
when:
|
|
event: [ push ]
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_pytest
|
|
|
|
# generate coverage report - python
|
|
test-tox-coverage:
|
|
when:
|
|
branch: master
|
|
event: [ pull_request ]
|
|
image: cr.44net.ch/ci-plugins/tests
|
|
pull: true
|
|
commands:
|
|
- just test_coverage
|
|
|
|
# analyse code with sonarqube and upload it
|
|
sonarqube-analysis:
|
|
when:
|
|
branch: master
|
|
event: [ pull_request ]
|
|
image: cr.44net.ch/ci-plugins/sonar-scanner
|
|
pull: true
|
|
settings:
|
|
sonar_host: https://sonarqube.44net.ch
|
|
sonar_token:
|
|
from_secret: sq-44net-token
|
|
usingProperties: true
|