############################## # code testing and analysis # ############################# # branch: all # event: all clone: git: image: woodpeckerci/plugin-git pipeline: # check shell scripts with shfmt test-shfmt: image: 'cr.44net.ch/drone-plugins/test' pull: true commands: - shfmt -d -i 4 -bn -ci -sr . # check python scripts with black test-black: image: 'cr.44net.ch/drone-plugins/test' pull: true commands: - black --check --diff --color . # test code and generate coverage report test-coverage-pytest: image: 'cr.44net.ch/drone-plugins/test' pull: true commands: - pip install -r requirements.txt - coverage erase - coverage run -m pytest --verbose --exitfirst - coverage xml -i # analyse code with sonarqube and upload it sonarqube-analysis: when: branch: master image: 'cr.44net.ch/drone-plugins/sonarqube' pull: true settings: sonar_host: 'https://sonarqube.44net.ch' sonar_token: from_secret: sq-44net-token usingProperties: true