mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-30 17:44:07 +00:00
130 lines
4.4 KiB
YAML
130 lines
4.4 KiB
YAML
name: process_subways
|
|
on:
|
|
workflow_dispatch: # Manual trigger
|
|
|
|
env:
|
|
PLANET: /home/planet/planet/planet.o5m
|
|
TMPDIR: /tmp
|
|
HTML_DIR: "/mnt/4tbexternal/osm-planet/subway/validator"
|
|
DUMP: "$HTML_DIR"
|
|
SKIP_PLANET_UPDATE: "1"
|
|
DEBIAN_FRONTEND: nonnteractive
|
|
TZ: Etc/UTC
|
|
|
|
# /var/www/html/subways is mapped as a volume on cdn-fi-1
|
|
# as is /tmp/planet
|
|
jobs:
|
|
clone-repos:
|
|
name: Clone Git Repos
|
|
runs-on: mapfilemaker
|
|
container:
|
|
image: codeberg.org/comaps/maps_generator:f6d53d54f794
|
|
volumes:
|
|
- /mnt/4tbexternal:/mnt/4tbexternal
|
|
concurrency:
|
|
group: ${{ github.workflow }}-process-subways-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
steps:
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: "~"
|
|
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
|
|
- name: Checkout subways repo
|
|
shell: bash
|
|
run: |
|
|
cd ~
|
|
git clone --depth 1 --single-branch https://codeberg.org/comaps/subways.git
|
|
|
|
update-planet-o5m:
|
|
name: Update O5M Planet
|
|
runs-on: mapfilemaker
|
|
container:
|
|
image: codeberg.org/comaps/maps_generator:f6d53d54f794
|
|
volumes:
|
|
- /mnt/4tbexternal/:/mnt/4tbexternal/
|
|
- /mnt/4tbexternal/osm-planet:/home/planet
|
|
concurrency:
|
|
group: ${{ github.workflow }}-process-subways-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
steps:
|
|
- name: Check for O5M Planet File
|
|
shell: bash
|
|
run: |
|
|
if [ ! -f /home/planet/planet/planet.o5m ]; then
|
|
echo "WARN: No file at /home/planet/planet/planet.o5m"
|
|
|
|
if [ ! -f /home/planet/planet/planet-latest.osm.pbf ]; then
|
|
echo "ERROR: No file at /home/planet/planet/planet-latest.osm.pbf"
|
|
ls -al /home/planet/
|
|
ls -al /home/planet/planet/
|
|
exit 1
|
|
fi
|
|
|
|
echo "Converting planet-latest.osm.pbf to planet.o5m"
|
|
cd /home/planet/planet/
|
|
osmconvert -v --drop-author --drop-version --hash-memory=4000 planet-latest.osm.pbf -o=planet.o5m
|
|
echo "Conversion is done."
|
|
fi
|
|
- name: Update O5M planet
|
|
run: |
|
|
echo "Starting..."
|
|
cd /home/planet/planet/
|
|
rm -f planet-new.o5m
|
|
osmupdate -v --drop-author --drop-version --hash-memory=4000 --max-merge=32 --out-o5m planet.o5m planet-new.o5m
|
|
mv planet-new.o5m planet.o5m
|
|
echo "Done."
|
|
- name: Notify Zulip
|
|
run: |
|
|
curl -X POST https://comaps.zulipchat.com/api/v1/messages \
|
|
-u $ZULIP_BOT_EMAIL:$ZULIP_API_KEY \
|
|
--data-urlencode type=stream \
|
|
--data-urlencode 'to="DevOps"' \
|
|
--data-urlencode topic=codeberg-bot \
|
|
--data-urlencode 'content=O5M planet update is done!'
|
|
|
|
update-subways:
|
|
if: inputs.run-subways
|
|
name: Update Subways
|
|
runs-on: mapfilemaker
|
|
needs:
|
|
- clone-repos
|
|
container:
|
|
image: codeberg.org/comaps/maps_generator:f6d53d54f794
|
|
volumes:
|
|
- /mnt/4tbexternal/:/mnt/4tbexternal/
|
|
- /mnt/4tbexternal/osm-planet:/home/planet
|
|
concurrency:
|
|
group: ${{ github.workflow }}-map-generator-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
steps:
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: "~"
|
|
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
|
|
- name: Update Subways
|
|
shell: bash
|
|
run: |
|
|
cd ~/comaps/
|
|
cp tools/unix/maps/settings.sh.prod tools/unix/maps/settings.sh
|
|
./tools/unix/maps/generate_subways.sh
|
|
- name: Compare with VK validation
|
|
shell: bash
|
|
run: |
|
|
cd ~/subways
|
|
if [ -f "$HTML_DIR/index.html" ]; then
|
|
echo "Comparing local validation with VK's validation..."
|
|
python3 ./scripts/compare_html_validation.py "$HTML_DIR/index.html" \
|
|
--vk-url "https://maps.vk.com/osm/tools/subways/latest/index.html"
|
|
else
|
|
echo "Local index.html not found at $HTML_DIR/index.html"
|
|
exit 1
|
|
fi
|
|
- name: Notify Zulip
|
|
run: |
|
|
curl -X POST https://comaps.zulipchat.com/api/v1/messages \
|
|
-u $ZULIP_BOT_EMAIL:$ZULIP_API_KEY \
|
|
--data-urlencode type=stream \
|
|
--data-urlencode 'to="DevOps"' \
|
|
--data-urlencode topic=codeberg-bot \
|
|
--data-urlencode 'content=Subways are done!'
|