Skip to content

Add workflow for end-to-end test (using Docker) #4

Add workflow for end-to-end test (using Docker)

Add workflow for end-to-end test (using Docker) #4

Workflow file for this run

name: Docker build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
merge_group:
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
dockerfile: [ Dockerfile]
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Docker build
run: |
docker build -f ${{matrix.dockerfile}} -t osm2rdf .
docker run --rm osm2rdf --help
- name: Build TTL for Malta and check its validity
run: |
mkdir osm-malta && cd $_
curl -L -o osm-malta.pbf https://download.geofabrik.de/europe/malta-latest.osm.pbf
ls -l osm-malta.pbf
docker run --rm -v $(pwd):/data osm2rdf /data/osm-malta.pbf -o /data/osm-malta.ttl
ls -l osm-malta.pbf osm-malta.ttl.bz2
docker run --rm -v $(pwd):/data stain/jena riot --validate /data/osm-malta.ttl.bz2
- name: Build QLever index and count the number of geometries
run: |
cd osm-malta
docker run -u $(id -u):$(id -g) -v $(pwd):/data -w /data --entrypoint bash adfreiburg/qlever -c "bzcat osm-malta.ttl.bz2 | IndexBuilderMain -F ttl -f - -i osm-malta"
docker run -d -p 7000:7000 -v $(pwd):/data -w /data --entrypoint bash adfreiburg/qlever -c "ServerMain -i /data/osm-malta -p 7000"
curl -s http://localhost:7000 --data-urlencode "query=PREFIX geo: <http://www.opengis.net/ont/geosparql#> SELECT (COUNT(?geometry) AS ?count) WHERE { ?osm_id geo:hasGeometry ?geometry }" | jq --exit-status .results.bindings[0].count.value