1010
1111jobs :
1212 build :
13+ name : Build and test on Python ${{ matrix.python-version }}
1314 runs-on : ubuntu-latest
1415 strategy :
1516 matrix :
16- python-version : [3.6, 3.7, 3.8, 3.9]
17+ python-version : [' 3.6', ' 3.7', ' 3.8', ' 3.9', '3.10' ]
1718 steps :
18- - uses : actions/checkout@v2
19+ - name : Checkout
20+ uses : actions/checkout@v2
1921 with :
2022 fetch-depth : 0
2123 - name : Set up Python ${{ matrix.python-version }}
@@ -33,26 +35,47 @@ jobs:
3335 - name : Testing
3436 run : |
3537 poetry run pytest
36- - name : Upload coverage
37- uses : codecov/codecov-action@v1
38- with :
39- file : ./coverage.xml
40- fail_ci_if_error : true
41- verbose : true
42- - name : Fix coverage.xml for Sonar
43- run : |
44- sed -i 's/\/home\/runner\/work\/connect-python-openapi-client\/connect-python-openapi-client\//\/github\/workspace\//g' coverage.xml
45- - name : SonarCloud
46- uses : SonarSource/sonarcloud-github-action@master
47- env :
48- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
49- SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
50- - name : Wait sonar to process report
51- uses : jakejarvis/wait-action@master
52- with :
53- time : ' 60s'
54- - name : SonarQube Quality Gate check
55- uses : sonarsource/sonarqube-quality-gate-action@master
56- timeout-minutes : 5
57- env :
58- SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
38+ sonar :
39+ name : Sonar Checks
40+ needs : build
41+ runs-on : ubuntu-latest
42+ steps :
43+ - name : Checkout
44+ uses : actions/checkout@v2
45+ with :
46+ fetch-depth : 0
47+ - name : Set up Python '3.10.0'
48+ uses : actions/setup-python@v2
49+ with :
50+ python-version : ' 3.10'
51+ - name : Install dependencies
52+ run : |
53+ python -m pip install --upgrade pip
54+ pip install poetry
55+ poetry install
56+ - name : Testing
57+ run : |
58+ poetry run pytest
59+ - name : Upload coverage
60+ uses : codecov/codecov-action@v1
61+ with :
62+ file : ./coverage.xml
63+ fail_ci_if_error : true
64+ verbose : true
65+ - name : Fix coverage.xml for Sonar
66+ run : |
67+ sed -i 's/\/home\/runner\/work\/connect-python-openapi-client\/connect-python-openapi-client\//\/github\/workspace\//g' coverage.xml
68+ - name : SonarCloud
69+ uses : SonarSource/sonarcloud-github-action@master
70+ env :
71+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72+ SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
73+ - name : Wait sonar to process report
74+ uses : jakejarvis/wait-action@master
75+ with :
76+ time : ' 15s'
77+ - name : SonarQube Quality Gate check
78+ uses : sonarsource/sonarqube-quality-gate-action@master
79+ timeout-minutes : 5
80+ env :
81+ SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
0 commit comments