-
Notifications
You must be signed in to change notification settings - Fork 11
53 lines (51 loc) · 1.89 KB
/
check_generated.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
name: Check mapfiles
on:
pull_request:
push:
branches:
- master
jobs:
check_maps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
cache: "pip"
# Some mapfiles are generated by scripts, but also committed to the repo.
# Check for mismatches between committed files and script output.
- name: Regenerate mapfiles and check for equality
run: |
for script in gen_*.py; do
mapfile=$(echo $script | sed 's/^gen_//; s/\.py$//').map
if [ ! -f "$mapfile" ]; then
mapfile="private/$mapfile"
if [ ! -f "$mapfile" ]; then
echo "Result of ${script} not committed"
exit 1
fi
fi
python3 "$script" | cmp - "$mapfile"
done
# The index.json file is not committed, but generated by the Docker
# entrypoint. It should at least be valid JSON.
- name: Check index.json file
run: |
# Create some bogus connection files, or including them will fail:
mkdir -p connections
for c in bag basiskaart dataselectie dataservices milieu monumenten nap panorama various_small_datasets; do
echo CONNECTIONTYPE postgis > connection/$c.inc
done
python3 tools/make_indexjson.py *.map | jq . > /dev/null
- name: Authorization checks
run: |
python3 -m pip install -r tools/requirements.txt
# adresseerbare_objecten and bgt_inrichtingselementen can't be parsed
# due to limitations in mappyfile.
# The other excluded maps should be fixed. They have workarounds in
# place to prevent access to restricted fields.
python3 tools/auth_check.py -e \
adresseerbare_objecten bgt_inrichtingselementen \
bomen brk2 ondergrond ziektenplagenexotengroen