617 Commits

Author SHA1 Message Date
f27064ae5a [Backport] Add Fedora 42 to CI (#485)
* And remove `Fedora 40`
* Also clean up `Dockerfile`s
2025-04-15 09:10:15 -07:00
738ad06299 [Backport] Fix Install Package CI Pipeline for Mapnik >= 4 (#484) 2025-04-15 09:10:09 -07:00
d81dbecc81 [Backport] Support Ubuntu devel using libiniparser 4 in Docker CI (#483) 2025-04-15 09:10:04 -07:00
1e9aee8221 [Backport] Use a different FreeBSD box for CI pipeline (#482) 2025-04-15 09:09:59 -07:00
043cf699ee [Backport] CI pipeline test fixes (#481)
- Fix failing `Mapnik Latest` tests:
  - `Debian 12`'s [boost](https://github.com/mapnik/mapnik/blob/master/CHANGELOG.md#mapnik-405) is too old for `Mapnik` >= `v4.0.5`
- Fix failing `macOS` coverage
  - `format` & `category` errors have been popping up recently
2025-04-15 09:09:33 -07:00
9002811226 [Backport] Fix typo in mod_tile.c (#474) 2025-01-11 21:34:17 -07:00
7b21e1a94d [Backport] Also account for tileVeryOld state in add_expiry and tile_handler_status (#465) 2024-11-11 09:49:50 -07:00
42babb026d [Backport] CI/Docs updates (#470)
* Deprecate macOS 12 and add macOS 15
* Deprecate Fedora 39 and add Fedora 41
* Upgrade CodeCov actions to v4
* Fix FreeBSD 14 CI builds
2024-11-11 09:44:26 -07:00
4bb59435ee [Backport] Upgrade Action freebsd-vagrant-action from v1.4 to v2 (#463) 2024-11-11 09:44:05 -07:00
72e2ee24a5 [Backport] Dockerfile cleaning (#458)
* Add `Dockerfile` linting with `hadolint`
* Fix minor `Dockerfile` issues found by `hadolint`
2024-07-10 11:17:38 -07:00
3b2e6b6ae6 [Backport] Fedora rawhide requires mapnik-static (now that it provides Mapnik v4.0.0) (#457)
It contains libraries now referenced by `pkg-config` and `mod_tile` uses only `pkg-config` for `Mapnik >= v4.0.0`.
2024-07-10 07:23:25 -07:00
7f7af744e8 [Backport] Move xyzo_to_meta into proper header file (#456) 2024-07-02 16:35:46 -07:00
cda77b0a69 [Backport] Allow linking alternate memory management implementations (#454)
With new `CMake CACHE` entry `MALLOC_LIB`, supporting the following values:
* `libc` (default): Use the system's implementation
* `jemalloc`: Use [jemalloc](http://jemalloc.net)
* `mimalloc`: Use [mimalloc](https://github.com/microsoft/mimalloc)
* `tcmalloc`: Use [tcmalloc](https://github.com/google/tcmalloc)

Co-authored-by: Roland Bosa <roland.bosa@gmail.com>
2024-06-29 14:12:24 -07:00
c0ff2f5895 [Backport] Clarify optional libraries and allow optionally disabling them (#453)
`libcurl` & `libcairo` are also optional and their usage can now be optionally disabled (along with `libmemcached` & `librados`.)

* No longer test macOS Autotools building
2024-06-28 14:31:47 -07:00
1f2a7f0b34 [Backport] Use Mapnik v4.0.0 for Dockerfiles and GitHub Actions (#452) 2024-06-26 17:16:41 -07:00
d26a2cb98d [Backport] Allow overriding Munin script URLs with an environment variable (#420)
* Also allow overriding `RENDERD_STATS` (defaults to `/run/renderd/renderd.stats`)
* Also allow overriding `REPLICATION_STATE` (defaults to `/home/osm/replicate/state.txt`)
2024-06-26 17:15:41 -07:00
35e626d623 Bumped to version 0.7.2 v0.7.2 2024-06-20 18:56:34 -07:00
997a358937 Debian Unstable and Ubuntu Devel now default to Mapnik v4.0.0 (v0.7.x) (#451)
* Fix `Dockerfile`s & `docker-compose.yml` to support this.
* Mark debian:unstable & ubuntu:devel experimental
2024-06-20 18:13:35 -07:00
daa0172b3b Backporting a few more minor changes (#449)
In order to reduce differences between `v0.7.x` and default branch.
2024-06-20 14:33:22 -07:00
521e47b327 Backport various CI & documentation changes to v0.7.x (#443)
* Support for Mapnik >= 4 no longer using boost:optional
* Backport Address macOS build errors in src/render_submit_queue.c
* Backport GitHub Actions workflows and actions
* Backport cmake, docker & docs/build directories
* Backport changes to CMakeLists.txt
2024-06-13 13:47:41 -07:00
5d18f5132c Bumped to version 0.7.1 v0.7.1 2024-03-16 12:56:30 -07:00
b6e4f8a144 Updated Docker-based building and testing method 2024-03-16 12:56:30 -07:00
0d13f9f85e Updated Docs and GitHub Actions Install Package & Test workflow 2024-03-16 12:22:01 -07:00
fc4a765bc2 Fix installation when using DESTDIR. (#411)
The Debian package build failed after switching to CMake because it uses `DESTDIR` to install under `debian/tmp`.
2024-03-16 11:33:12 -07:00
53b77bc1db Added Docker-based building and testing method (#363)
* Build with Docker
* Use CUSTOM_DEFINES for Mapnik building
* Only run `install-package-and-test.yml` if etc, utils or YAML file have changed
2023-12-30 20:57:44 -07:00
4e8334ed54 Bumped to version 0.7.0 v0.7.0 2023-12-19 20:49:29 -07:00
3c324648e6 Minor coverage improvements and CTest clean up (#361) 2023-12-14 17:31:52 -07:00
4a42757f2e Fix macOS cmake --install command failing due to Read-only file system (#350)
On `macOS`, the directory `/usr` is read-only (except for `/usr/local`, at least).
2023-12-12 15:05:54 -07:00
8e3e8fb34f Add man page for renderd.conf (#357)
* Update AUTHORS file
* Add renderd.conf man to CMakeLists.txt & Makefile.am
* Minor updates to other man pages as well
2023-12-12 13:44:23 -07:00
8abe6eed6d Fix DEFAULT_ATTRIBUTION value and add tests (#360)
The value for `DEFAULT_ATTRIBUTION` in `includes/mod_tile.h` needed to be escaped, it was causing a JSON parsing failure.
* Added basic test for `/.../.../tile-layer.json` to ensure parsing is successful
* Added basic tests for `/metrics` & `/mod_tile` URLs
2023-12-12 12:48:15 -07:00
925183a960 Make /status and /dirty URLs controlable with apache conf (#359)
* Allow the …/status URL to be turned on or off (default of on remains)

Add ModTileEnableStatusURL On/Off to allow the …/status to be turned on
(default) or off. Previous behaviour has …/status on, which is not
changed in this patch.

* Allow the …/dirty URL to be turned on or off (default of on remains)

Add ModTileEnableDirtyURL On/Off to allow the …/dirty to be turned on
(default) or off. Previous behaviour has …/dirty on, which is not
changed in this patch.

* Make …/dirty & …/status disabled by default.

This is a breaking change. To get the old default behaviour back, you
must now manually add `ModTileEnableStatusURL On` &
`ModTileEnableDirtyURL On` to your apache configuration.

* Change default for ModTileEnable Dirty/Status URL to On

* Add log output for when `/dirty`/`/status` is Off

* Add tests for "ModTileEnable{Dirty|Status}URL Off"

---------

Co-authored-by: Amanda McCann <amanda@technomancy.org>
2023-12-11 20:47:50 -07:00
4580b2e887 Improve FreeBSD CI Workflows speeds (#358)
The `freebsd-vagrant-action` action now supports running on `Linux` runners, which almost halves the duration of `FreeBSD` building and testing.
2023-12-06 13:32:55 -07:00
011af8a683 Upgrade Catch2 from v2.13.9 to v2.13.10 (#356)
Keep it up to date, `v3.x.x` requires C++ >= 14, so we'll hold off on that
2023-11-28 12:23:03 -07:00
68e46a2eec Added test for installing from distribution packages (#330)
In order to ensure that the instructions contained within `README.rst` also work when installing `mod_tile` packages from `Debian`/`Ubuntu` repositories, I have added a basic test which first installs those packages and then executes the same commands from the aforementioned instructions.

Here is an example of a workflow run:
https://github.com/hummeltech/mod_tile/actions/runs/5638547864

**Also:**
* Add additional image format types into example configuration instructions in `README.rst`
  * Which are already referenced in [utils/example-map/index.html](https://github.com/openstreetmap/mod_tile/blob/master/utils/example-map/index.html#L28-L39)
* Add step in `README.rst` to ensure `/var/run/renderd` exists
2023-11-27 21:17:25 -07:00
030c35373e Fix build artifacts not uploading (#355) 2023-11-27 20:06:52 -07:00
0b25d54b1e Allow branch names containing CI to run all jobs (#354) 2023-11-26 13:52:03 -07:00
7e92e4c88a Upload astyle formatting patch file as artifact during CI pipeline run (#353) 2023-11-26 13:51:41 -07:00
bc8126cc69 Update GitHub Actions images (#352)
* Remove `macOS 11`
  * Homebrew no longer supports [`macOS < 12`](https://docs.brew.sh/Installation)
* Add `FreeBSD 14`
* Remove `FreeBSD 12`
* Add `Fedora 39`
* Remove `Fedora 37`
* Add `Ubuntu` rolling
* Allow tests using latest `Mapnik` to fail
  * Updates occasionally cause failures to occur
2023-11-26 12:21:09 -07:00
e94fde2982 Add a --no-progress switch to render_expired (#351)
When running `render_expired` as part of regular updates lots of progress messages just clog up the logs.
2023-11-25 18:31:52 -07:00
2577716b0f FreeBSD quarterly repo is now missing mapnik (#348)
Mapnik v3.1.0 requires a patch in order to support Boost v1.8.3.

A fix has been applied, but has not yet made it into the quarterly repository:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274166
2023-10-28 11:54:48 -07:00
c2896c78ec Added OpenSUSE support to build & test pipeline (#344)
* Also added build documentation

Resolves #89
2023-10-05 15:05:53 -07:00
184f1430f5 CentOS 7 not working with actions/checkout@v4 (#342)
Currently failing:
```
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)
```
2023-10-02 12:52:19 -07:00
bc0ddfef9c Added more linters (cmakelint & prettier) (#341)
For linting `CMakeLists.txt` & `*.cmake` files (`cmakelint`) as well as various other formats such as `HTML`, `MarkDown` & `YAML` (`prettier`.)

### Also:
* Upgrade `actions/checkout` from `v3` to `v4`
* Output coverage summary to GitHub Job step summary
* Minor build docs cleanup for `CentOS`  & `FreeBSD`
2023-10-02 10:17:22 -07:00
f17bb75a3f Allow FreeBSD job to fail (#340)
FreeBSD's `mapnik` package is currently not being built due to some minor errors, once it is fixed, this job will begin to pass again.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274166
2023-10-01 08:56:37 -07:00
3c86206269 Allow adjusting ports used for CTest testing (#331)
* Allow customizing `httpd` & `renderd` CTest testing TCP ports
2023-09-28 14:53:47 -07:00
c8eba9f6e8 Resolve deprecation of FindDart (#329)
Deprecated with [CMake 3.27](https://cmake.org/cmake/help/latest/module/FindDart.html), which is currently only present in `Fedora Rawhide`
2023-09-28 13:49:15 -07:00
d13186ae7d FreeBSD via Vagrant allows reuse of existing actions (#339)
Currently, there is a lot of duplicate CI config for FreeBSD jobs, this removes that redundancy.
2023-09-28 12:31:53 -07:00
04a2ef0315 Fixed FreeBSD CI build failure (#338)
There seems to have been a change to `libmemcached` which is causing CI build failures, I.E.:
https://github.com/openstreetmap/mod_tile/actions/runs/6341651339/job/17226108997#step:3:1925

This appears to be the source of the issue:
https://cgit.freebsd.org/ports/commit/?id=c25f0c013e88d84c620b2bb8c56158e9ca7f8bef
2023-09-28 10:58:55 -07:00
672969f4f0 Fixed FreeBSD CI build failure (#337)
The `ceph14` package has been marked as `broken` and is therefore no longer available:

02f9ff5be4

This is causing errors such as this:

https://github.com/openstreetmap/mod_tile/actions/runs/6322159276/job/17167290842#step:3:1249
2023-09-28 09:27:11 -07:00
fe238926d4 Increase queue limits to reflect modern machines (#336) 2023-09-27 08:17:56 +02:00