feat: drop rendering from default features; ship it in a -full variant#2945
Draft
CommanderStorm wants to merge 6 commits into
Draft
feat: drop rendering from default features; ship it in a -full variant#2945CommanderStorm wants to merge 6 commits into
-full variant#2945CommanderStorm wants to merge 6 commits into
Conversation
maplibre_native links pre-compiled native libraries with strict runtime requirements, which is fragile on uncontrolled hosts. Remove `rendering` from martin's default features so default builds, `cargo install`, and the default binaries/Docker image are lean. Rendering now ships in a batteries-included `-full` variant: a `-full` Docker image and `-full` Linux-gnu tarballs. - martin/Cargo.toml: remove `rendering` from `default` - justfile: `full_features`, `build-release-full`, dedicated `test-rendering` recipe (--no-default-features) - build-binary.yml: `full` input; ci.yml: `-full` gnu build jobs, matrixed base/full docker build+push, `-full` release tarballs, dedicated `unit-test-svc-rendering` job - single multi-platform.Dockerfile parametrized by EXTRA_PACKAGES build-arg - tests: gate rendering checks in test.sh on MARTIN_RENDERING; regenerate catalog goldens (base build omits the rendering setting) - docs: installation, run-with-docker, sources-styles, martin-as-a-library Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Performance Comparison
|
- installation.md: fix malformed code span and realign the release
table widened by the new -full variants (markdownlint MD038/MD060)
- geojson catalog snapshots were blessed with a rendering-enabled
build (`"rendering": false`); integration tests run the default
(non-rendering) binary, so restore `"settings": {}`
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CommanderStorm
added a commit
that referenced
this pull request
Jul 6, 2026
#2963) Split out of #2945 so it can land independently of the rendering-not-default change: disable the uv download cache (one-off `uvx` tool runner, no Python deps to cache) which also lets the redundant `zizmor: ignore[cache-poisoning]` comments go, move martin-core's `image` to a dev-dependency (only used in the rendering test), and drop martin's unused `utoipa-actix-web` dependency. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Warning
Not yet reviewed or tested by a human. This was drafted by an AI agent (Claude Code) and pushed as-is at the author's request. CI has not run yet; treat every change as unverified until reviewed.
renderingrelies onmaplibre_native, which links pre-compiled native libraries with strict glibc/version requirements. That's fine inside our Docker image (we control the runtime) but fragile on uncontrolled hosts. Todayrenderingis a default feature, so it silently ships in the crates.io publish,cargo install, and thex86_64/aarch64-unknown-linux-gnurelease tarballs. Only musl and Debian already strip it.After this change:
ghcr.io/maplibre/martin:latest/:<version>ghcr.io/maplibre/martin:latest-full/:<version>-fullmartin-<gnu>.tar.gz, musl, deb,cargo installmartin-<gnu>-full.tar.gz