-
Notifications
You must be signed in to change notification settings - Fork 7
143 lines (120 loc) · 3.9 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
name: Tests 🎳
on:
push:
tags:
- "*"
branches:
- master
paths:
- 'lizmap_server/**'
- 'test/**'
pull_request:
branches:
- master
paths:
- 'lizmap_server/**'
- 'test/**'
jobs:
flake8:
runs-on: ubuntu-latest
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: x64
- name: Checkout
uses: actions/[email protected]
- uses: actions/[email protected]
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/dev.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Python requirements
run: pip install -r requirements/dev.txt
- name: Run flake8
run: flake8
tests:
runs-on: ubuntu-latest
strategy:
matrix:
qgis_version: [
"3.16",
"3.22",
"3.28",
"3.34",
"nightly-release",
]
# container: 3liz/qgis-platform:${{ matrix.qgis_version }}
steps:
- name: Check out repository
uses: actions/[email protected]
with:
submodules: 'true'
- name: Create dir
run: |
mkdir .local
mkdir .cache
- name: Running tests
run: >-
docker run
--rm
--name qgis-server
-u $(id -u)
-e PIP_CACHE_DIR=/.cache
-w /src/test
-e PYTEST_ADDOPTS=""
-e QGIS_SERVER_LIZMAP_REVEAL_SETTINGS=TRUE
-e CI="True"
-v ${GITHUB_WORKSPACE}:/src
-v ${GITHUB_WORKSPACE}/.cache:/.cache
-v ${GITHUB_WORKSPACE}/.local:/.local
3liz/qgis-platform:${{ matrix.qgis_version }}
./run-tests.sh
release:
needs: [tests, flake8]
runs-on: ubuntu-latest
if: github.repository_owner == '3liz' && contains(github.ref, 'refs/tags/')
steps:
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- uses: actions/[email protected]
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: "requirements/packaging.txt"
- name: Install Python requirements
run: pip install -r requirements/packaging.txt
- name : Fetch current changelog
run: qgis-plugin-ci changelog ${{ env.RELEASE_VERSION }} >> release.md
- name: Create release on GitHub
uses: ncipollo/[email protected]
with:
bodyFile: release.md
token: ${{ secrets.BOT_HUB_TOKEN }}
- name: Package and deploy the zip
run: >-
qgis-plugin-ci
release ${{ env.RELEASE_VERSION }}
--github-token ${{ secrets.BOT_HUB_TOKEN }}
--osgeo-username ${{ secrets.OSGEO_USERNAME }}
--osgeo-password ${{ secrets.OSGEO_PASSWORD }}
--create-plugin-repo
- name: Tweet
uses: mugi111/[email protected]
with:
consumer_key: ${{ secrets.TWITTER_CONSUMER_KEY }}
consumer_secret: ${{ secrets.TWITTER_CONSUMER_SECRET }}
access_token_key: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }}
access_token_secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
tweet_body: "New version of @LizmapForQgis server plugin ${{ env.RELEASE_VERSION }} 🦎 on #QGIS https://github.com/3liz/qgis-lizmap-server-plugin/releases"
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.BOT_HUB_TOKEN }}
repository: 3liz/3liz.github.io
event-type: merge-plugins
client-payload: '{"name": "lizmap_server", "version": "${{ env.RELEASE_VERSION }}", "url": "https://github.com/3liz/qgis-lizmap-server-plugin/releases/latest/download/plugins.xml"}'