forked from add-ons/plugin.video.redbull.tv
-
Notifications
You must be signed in to change notification settings - Fork 0
60 lines (59 loc) · 1.93 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# This workflow performs the various sanity tests, integration tests and
# may run parts of the add-on and add-on service to get a better testing
# coverage. It also runs Codecov and SonarCloud actions.
name: CI
on:
- pull_request
- push
jobs:
tests:
name: Add-on testing
runs-on: ubuntu-latest
env:
PYTHONIOENCODING: utf-8
PYTHONPATH: ${{ github.workspace }}/resources/lib:${{ github.workspace }}/tests
strategy:
fail-fast: false
matrix:
python-version: [ 2.7, 3.5, 3.6, 3.7, 3.8, 3.9 ]
steps:
- name: Check out ${{ github.sha }} from repository ${{ github.repository }}
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get install gettext
sudo pip install coverage --install-option="--install-scripts=/usr/bin"
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tox
run: python -m tox -q -e flake8,py
if: always()
- name: Run pylint
run: python -m pylint resources/lib/ tests/
if: always()
- name: Compare translations
run: make check-translations
if: always()
- name: Run unit tests
run: coverage run -m unittest discover
if: always()
- name: Run addon using cli
run: coverage run -a tests/run.py /
if: always()
- name: Upload code coverage to CodeCov
uses: codecov/codecov-action@v1
continue-on-error: true
- name: Analyze with SonarCloud
uses: SonarSource/[email protected]
with:
args: >
-Dsonar.organization=add-ons
-Dsonar.projectKey=add-ons_plugin.video.redbull.tv
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
continue-on-error: true