nigig-org/.forgejo/workflows/nigig-map.yml
andodeki 08d3e9a7fb
Some checks failed
nigig-map / test (push) Has been cancelled
fix(map): increase MAX_ELEMENTS_PER_TILE to 250k and add CI workflow
- Increased MAX_ELEMENTS_PER_TILE from 100,000 to 250,000 to handle
  Kenya MBTiles that contain 101k-140k elements per tile
- Updated security limit test to use valid JSON with 260k elements
- Added .forgejo/workflows/nigig-map.yml CI workflow to catch
  map-related regressions in tile parsing, style compilation,
  and tessellation

Fixes runtime errors:
- 'failed to triangulate local mbtile: too many elements (N > 100000)'
- Tiles with 101k-140k elements now process successfully
2026-07-28 20:41:02 +00:00

65 lines
1.8 KiB
YAML

name: nigig-map
# CI workflow for the map rendering crate.
#
# Enforces:
# 1. The map crate compiles (lib + tests).
# 2. The test suite is green.
# 3. No regressions in tile parsing, style compilation, or tessellation.
#
# This workflow was added to catch runtime errors like:
# - 'too many elements (N > 100000)' from overpass_parser
# - 'type mismatch for property style_light: expected MapThemeStyle'
# - triangulation failures in tile_disk
on:
push:
paths:
- 'crates/apps/map/**'
- 'Cargo.lock'
- 'Cargo.toml'
- 'rust-toolchain.toml'
- '.forgejo/workflows/nigig-map.yml'
pull_request:
paths:
- 'crates/apps/map/**'
- 'Cargo.lock'
- 'Cargo.toml'
- 'rust-toolchain.toml'
- '.forgejo/workflows/nigig-map.yml'
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions/setup-rust@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache cargo registry
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-map-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-map-
- name: Check formatting
run: cargo fmt --manifest-path crates/apps/map/Cargo.toml -- --check
- name: Build map crate
run: cargo build --manifest-path crates/apps/map/Cargo.toml
- name: Run map tests
run: cargo test --manifest-path crates/apps/map/Cargo.toml
- name: Clippy map crate
run: cargo clippy --manifest-path crates/apps/map/Cargo.toml -- -D warnings