Skip to content

Commit 7ec6098

Browse files
authored
Merge pull request #60 from cloudblue/rationalize-build-process
Improve workflow build process
2 parents 83f462d + e397d90 commit 7ec6098

File tree

2 files changed

+61
-36
lines changed

2 files changed

+61
-36
lines changed

.github/workflows/build.yml

Lines changed: 56 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ jobs:
1717
matrix:
1818
python-version: [3.6, 3.7, 3.8]
1919
steps:
20-
- uses: actions/checkout@v2
20+
- name: Checkout
21+
uses: actions/checkout@v2
2122
with:
2223
fetch-depth: 0
2324
- name: Set up Python ${{ matrix.python-version }}
@@ -37,20 +38,15 @@ jobs:
3738
- name: Testing
3839
run: |
3940
python setup.py test
40-
- name: Integration tests
41-
run: |
42-
./travis_integration_tests.sh
43-
- name: Compatibility tests
44-
run: |
45-
./travis_compat_tests.sh
4641
build_3_8_9_django_3_2:
4742
name: Build on Python 3.8, 3.9 django 3.2
4843
runs-on: ubuntu-latest
4944
strategy:
5045
matrix:
5146
python-version: [3.8, 3.9]
5247
steps:
53-
- uses: actions/checkout@v2
48+
- name: Checkout
49+
uses: actions/checkout@v2
5450
with:
5551
fetch-depth: 0
5652
- name: Set up Python ${{ matrix.python-version }}
@@ -70,20 +66,15 @@ jobs:
7066
- name: Testing
7167
run: |
7268
python setup.py test
73-
- name: Integration tests
74-
run: |
75-
./travis_integration_tests.sh
76-
- name: Compatibility tests
77-
run: |
78-
./travis_compat_tests.sh
7969
build_3_10_django_4_0:
8070
name: Build on Python 3.10 django 4.0
8171
runs-on: ubuntu-latest
8272
strategy:
8373
matrix:
8474
python-version: [3.10.1]
8575
steps:
86-
- uses: actions/checkout@v2
76+
- name: Checkout
77+
uses: actions/checkout@v2
8778
with:
8879
fetch-depth: 0
8980
- name: Set up Python ${{ matrix.python-version }}
@@ -103,20 +94,29 @@ jobs:
10394
- name: Testing
10495
run: |
10596
python setup.py test
106-
- name: Integration tests
107-
env:
108-
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
109-
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
110-
INTEGRATION_TESTS: yes
97+
sonar:
98+
name: Sonar Checks
99+
needs: [build_3_6_7_8_django_2_2, build_3_8_9_django_3_2, build_3_10_django_4_0]
100+
runs-on: ubuntu-latest
101+
steps:
102+
- name: Checkout
103+
uses: actions/checkout@v2
104+
with:
105+
fetch-depth: 0
106+
- name: Set up Python '3.10.0'
107+
uses: actions/setup-python@v2
108+
with:
109+
python-version: '3.10.0'
110+
- name: Install dependencies
111111
run: |
112-
./travis_integration_tests.sh
113-
- name: Compatibility tests
114-
env:
115-
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
116-
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
117-
COMPAT_TESTS: yes
112+
python -m pip install --upgrade pip
113+
pip install -r requirements/dev.txt
114+
pip install -r requirements/test.txt
115+
pip install pytest-cov
116+
pip install django==4.0.*
117+
- name: Testing
118118
run: |
119-
./travis_compat_tests.sh
119+
python setup.py test
120120
- name: Fix coverage report for Sonar
121121
run: |
122122
sed -i 's/\/home\/runner\/work\/django-cqrs\/django-cqrs\//\/github\/workspace\//g' coverage.xml
@@ -128,9 +128,36 @@ jobs:
128128
- name: Wait sonar to process report
129129
uses: jakejarvis/wait-action@master
130130
with:
131-
time: '120s'
131+
time: '15s'
132132
- name: SonarQube Quality Gate check
133133
uses: sonarsource/sonarqube-quality-gate-action@master
134134
timeout-minutes: 5
135135
env:
136-
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
136+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
137+
compatibility:
138+
name: Compatibility and Integration Tests
139+
needs: [sonar]
140+
runs-on: ubuntu-latest
141+
steps:
142+
- name: Checkout
143+
uses: actions/checkout@v2
144+
with:
145+
fetch-depth: 0
146+
- name: Set up Python '3.10.0'
147+
uses: actions/setup-python@v2
148+
with:
149+
python-version: '3.10.0'
150+
- name: Integration tests
151+
env:
152+
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
153+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
154+
INTEGRATION_TESTS: yes
155+
run: |
156+
./travis_integration_tests.sh
157+
- name: Compatibility tests
158+
env:
159+
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
160+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
161+
COMPAT_TESTS: yes
162+
run: |
163+
./travis_compat_tests.sh

.github/workflows/publish.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,15 @@ jobs:
88
publish:
99
name: Build and Publish
1010
runs-on: ubuntu-latest
11-
strategy:
12-
matrix:
13-
python-version: [ 3.8 ]
1411
steps:
15-
- uses: actions/checkout@v2
12+
- name: Checkout
13+
uses: actions/checkout@v2
1614
with:
1715
fetch-depth: 0
18-
- name: Set up Python ${{ matrix.python-version }}
16+
- name: Set up Python 3.8
1917
uses: actions/setup-python@v2
2018
with:
21-
python-version: ${{ matrix.python-version }}
19+
python-version: 3.8
2220
- name: Install dependencies
2321
run: |
2422
python -m pip install --upgrade pip
@@ -43,7 +41,7 @@ jobs:
4341
- name: Wait sonar to process report
4442
uses: jakejarvis/wait-action@master
4543
with:
46-
time: '60s'
44+
time: '15s'
4745
- name: SonarQube Quality Gate check
4846
uses: sonarsource/sonarqube-quality-gate-action@master
4947
timeout-minutes: 5

0 commit comments

Comments
 (0)