-
-
Notifications
You must be signed in to change notification settings - Fork 4
82 lines (70 loc) · 2.11 KB
/
continuous_integration.yml
File metadata and controls
82 lines (70 loc) · 2.11 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: Continuous integration
on: push
jobs:
code_check:
name: Code check
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
- name: Install pipenv
run: pip install pipenv
- name: Check code formatting
run: |
pipenv install pre_commit
pipenv run python -m pre_commit run --all-files
pyqt6-check:
name: PyQt6 compatibility check
runs-on: ubuntu-latest
container:
image: registry.gitlab.com/oslandia/qgis/pyqgis-4-checker/pyqgis-qt-checker:latest
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- ${{ github.workspace }}:/home/pyqgisdev/
options: --user root
steps:
- name: Get source code
uses: actions/checkout@v6
- name: Check PyQt5 to PyQt6 compatibility
run: |
pyqt5_to_pyqt6.py --dry_run libqfieldsync/
pyqt5_to_pyqt6.py --logfile pyqt6_checker.log libqfieldsync/
- name: Upload script report if script fails
uses: actions/upload-artifact@v6
if: ${{ failure() }}
with:
name: pyqt6-checker-error-report
path: pyqt6_checker.log
retention-days: 7
test:
runs-on: ubuntu-latest
strategy:
matrix:
qgis_version: [release-3_22, release-3_28, final-3_36_1]
env:
QGIS_TEST_VERSION: ${{ matrix.qgis_version }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Run tests
run: |
docker compose -f .docker/docker-compose.yml run qgis /usr/src/.docker/run-docker-tests.sh
test_packaging:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v6
- name: Install toolchain
run: pip install build
- name: Package with build
run: python -m build
- name: Install with pip
run: pip install .