############################## # 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-ruff: 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