-
Notifications
You must be signed in to change notification settings - Fork 650
123 lines (118 loc) · 4.36 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
name: CI
on:
pull_request: {}
push: {}
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install tox tox-gh-actions
- run: tox -e lint
check-docs:
name: RST (README.rst + docs) syntax check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install tox tox-gh-actions
- run: tox -e rst
test_local:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix: # &test-matrix
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.7']
experimental: [false]
include:
- python-version: '3.13-dev'
experimental: true
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip setuptools
python3 -m pip install tox tox-gh-actions
- run: GEOPY_TOX_TARGET=test-local tox
test_full:
if: ${{ github.event_name != 'pull_request' }}
needs: [lint, check-docs, test_local]
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix: # *test-matrix https://github.com/actions/runner/issues/1182
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.7']
experimental: [false]
include:
- python-version: '3.13-dev'
experimental: true
max-parallel: 2 # Reduce load on the geocoding services
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip setuptools
python3 -m pip install tox tox-gh-actions
- run: tox
env:
# GitHub Actions cannot just pass all secrets as env vars :(
#
# Please preserve alphabetical order.
ARCGIS_PASSWORD: ${{ secrets.ARCGIS_PASSWORD }}
ARCGIS_REFERER: ${{ secrets.ARCGIS_REFERER }}
ARCGIS_USERNAME: ${{ secrets.ARCGIS_USERNAME }}
AZURE_SUBSCRIPTION_KEY: ${{ secrets.AZURE_SUBSCRIPTION_KEY }}
BAIDU_KEY: ${{ secrets.BAIDU_KEY }}
BAIDU_KEY_REQUIRES_SK: ${{ secrets.BAIDU_KEY_REQUIRES_SK }}
BAIDU_SEC_KEY: ${{ secrets.BAIDU_SEC_KEY }}
BAIDU_V3_KEY: ${{ secrets.BAIDU_V3_KEY }}
BAIDU_V3_KEY_REQUIRES_SK: ${{ secrets.BAIDU_V3_KEY_REQUIRES_SK }}
BAIDU_V3_SEC_KEY: ${{ secrets.BAIDU_V3_SEC_KEY }}
BING_KEY: ${{ secrets.BING_KEY }}
GEOCODEEARTH_KEY: ${{ secrets.GEOCODEEARTH_KEY }}
GEOCODIO_KEY: ${{ secrets.GEOCODIO_KEY }}
GEOKEY_KEY: ${{ secrets.GEOKEY_KEY }}
GEOLAKE_KEY: ${{ secrets.GEOLAKE_KEY }}
GEONAMES_USERNAME: ${{ secrets.GEONAMES_USERNAME }}
GOOGLE_KEY: ${{ secrets.GOOGLE_KEY }}
HERE_APIKEY: ${{ secrets.HERE_APIKEY }}
HERE_APP_CODE: ${{ secrets.HERE_APP_CODE }}
HERE_APP_ID: ${{ secrets.HERE_APP_ID }}
IGNFRANCE_KEY: ${{ secrets.IGNFRANCE_KEY }}
IGNFRANCE_REFERER: ${{ secrets.IGNFRANCE_REFERER }}
LIVESTREETS_AUTH_ID: ${{ secrets.LIVESTREETS_AUTH_ID }}
LIVESTREETS_AUTH_TOKEN: ${{ secrets.LIVESTREETS_AUTH_TOKEN }}
MAPBOX_KEY: ${{ secrets.MAPBOX_KEY }}
MAPQUEST_KEY: ${{ secrets.MAPQUEST_KEY }}
MAPTILER_KEY: ${{ secrets.MAPTILER_KEY }}
OPENCAGE_KEY: ${{ secrets.OPENCAGE_KEY }}
OPENMAPQUEST_APIKEY: ${{ secrets.OPENMAPQUEST_APIKEY }}
PICKPOINT_KEY: ${{ secrets.PICKPOINT_KEY }}
TOMTOM_KEY: ${{ secrets.TOMTOM_KEY }}
WHAT3WORDS_KEY: ${{ secrets.WHAT3WORDS_KEY }}
WOOSMAP_KEY: ${{ secrets.WOOSMAP_KEY }}
YANDEX_KEY: ${{ secrets.YANDEX_KEY }}