Run auth_check.py in GitHub workflow #122
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |