Skip to content

Generate Valhalla and OSRM tiles #59

Generate Valhalla and OSRM tiles

Generate Valhalla and OSRM tiles #59

name: Generate Valhalla and OSRM tiles
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
generate-pbf:
name: Generate modified PBF
runs-on: ubuntu-latest
steps:
- name: Create output directory
run: mkdir -p /tmp/output
- name: Run pbf-patch container
run: |
docker run --rm \
-u root \
-v /tmp/output:/files/output \
-e OUTPUT_FILENAME="schleswig-holstein-updated.osm.pbf" \
-e PLUGIN_CLIENT_ID="${{ secrets.PLUGIN_CLIENT_ID }}" \
-e PLUGIN_CLIENT_SECRET="${{ secrets.PLUGIN_CLIENT_SECRET }}" \
-e GE_HOST="${{ secrets.GE_HOST }}" \
ghcr.io/green-ecolution/streamlet/pbf-patch:dev
- name: Verify PBF file was created
run: |
ls -lh /tmp/output/
if [ ! -f /tmp/output/schleswig-holstein-updated.osm.pbf ]; then
echo "Error: PBF file was not created"
exit 1
fi
- name: Upload PBF artifact
uses: actions/upload-artifact@v4
with:
name: modified-pbf
path: /tmp/output/schleswig-holstein-updated.osm.pbf
retention-days: 1
generate-valhalla:
name: Generate Valhalla tiles
runs-on: ubuntu-latest
needs: generate-pbf
steps:
- name: Create data directory
run: mkdir -p /tmp/data
- name: Download PBF artifact
uses: actions/download-artifact@v4
with:
name: modified-pbf
path: /tmp/data
- name: Verify PBF file
run: |
ls -lh /tmp/data/
if [ ! -f /tmp/data/schleswig-holstein-updated.osm.pbf ]; then
echo "Error: PBF file not found"
exit 1
fi
- name: Generate Valhalla tiles
run: |
docker run --rm \
-u root \
-v /tmp/data:/tmp/data \
-e PBF_PATH="/tmp/data/schleswig-holstein-updated.osm.pbf" \
-e S3_HOST="${{ secrets.S3_HOST }}" \
-e S3_PORT="${{ secrets.S3_PORT }}" \
-e S3_SCHEME="${{ secrets.S3_SCHEME }}" \
-e S3_ACCESS_KEY="${{ secrets.S3_ACCESS_KEY }}" \
-e S3_SECRET_KEY="${{ secrets.S3_SECRET_KEY }}" \
-e S3_BUCKET="${{ secrets.S3_BUCKET }}" \
-e TILE_ARCHIVE_PREFIX="valhalla-tiles" \
ghcr.io/green-ecolution/streamlet/generate-valhalla:dev
- name: Valhalla tiles generated successfully
run: echo "Valhalla tiles have been generated and uploaded to S3"
generate-osrm:
name: Generate OSRM tiles
runs-on: ubuntu-latest
needs: generate-pbf
steps:
- name: Create data directory
run: mkdir -p /tmp/data
- name: Download PBF artifact
uses: actions/download-artifact@v4
with:
name: modified-pbf
path: /tmp/data
- name: Verify PBF file
run: |
ls -lh /tmp/data/
if [ ! -f /tmp/data/schleswig-holstein-updated.osm.pbf ]; then
echo "Error: PBF file not found"
exit 1
fi
- name: Generate OSRM tiles
run: |
docker run --rm \
-u root \
-v /tmp/data:/tmp/data \
-e PBF_PATH="/tmp/data/schleswig-holstein-updated.osm.pbf" \
-e S3_HOST="${{ secrets.S3_HOST }}" \
-e S3_PORT="${{ secrets.S3_PORT }}" \
-e S3_SCHEME="${{ secrets.S3_SCHEME }}" \
-e S3_ACCESS_KEY="${{ secrets.S3_ACCESS_KEY }}" \
-e S3_SECRET_KEY="${{ secrets.S3_SECRET_KEY }}" \
-e S3_BUCKET="${{ secrets.S3_BUCKET }}" \
-e TILE_ARCHIVE_PREFIX="osrm-tiles" \
ghcr.io/green-ecolution/streamlet/generate-osrm:dev
- name: OSRM tiles generated successfully
run: echo "OSRM tiles have been generated and uploaded to S3"