_Also_:
- Removed `AddTileMimeConfig` from example `HTTPD` config
- No longer needed after merging #346
- Deprecation notice incoming with #370
- Added additional `AddTileConfig`/`AddTileMimeConfig` tests
- Testing failing download with invalid map name in `httpd.conf`
- Testing parsing invalid `httpd.conf`, e.g.:
- `LoadTileConfigFile` without arguments
- `LoadTileConfigFile` without non-existent file
- Replaced `grep` with `${GREP_EXECUTABLE}` in tests
So that MemcacheD hosts and ports other than `localhost` and `11211` can be used.
_Also_:
- Added `ctest --parallel` execution support
- Added tests for custom `MemcacheD` {host}:{port}
- Added tests for `AddTileConfig`/`AddTileMimeConfig`
AddTileConfig is a shorthand way of adding tile configs without a renderd.conf; if you use mod_tile with tirex, then you will typically not have a renderd.conf and hence rely on AddTileConfig.
AddTileConfig lacks the richness of renderd.conf configuration; you cannot, for example, configure differing max_zooms or file extensions or mime types.
To partly fix this problem, AddTileMimeConfig was introduced which takes one extra argument - misleadingly, not the MIME type, but the file extension, as a third parameter.
This approach is not scalable and difficult to use because of the positional parameters.
This pull request introduces optional key-value pairs for the AddTileConfig directive. You can now write
AddTileConfig /tile tile mimetype=image/jpeg extension=jpg maxzoom=22
to configure your tile layer. Currently, "mimetype", "maxzoom", "minzoom", and "extension" are supported.
This is totally backwards compatible, as old-style AddTileConfig directives will still work like they did before.
The AddTileMimeConfig directive still works but it could be deprecated in favour of this new AddTileConfig syntax.
Co-authored-by: Frederik Ramm <ramm@geofabrik.de>
By taking advantage of `YAML anchors`: https://docs.docker.com/compose/compose-file/10-fragments/
_Also_:
- Added `full` service to `docker/docker-compose.yml` (including real osm data and openstreetmap carto)
- Under `ubuntu-devel-full`
- I.E. (`cd docker && docker compose up ubuntu-devel-full`)
- In order to more fully test
`renderd` coverage is otherwise not properly reported
_Also:_
- Removed `freebsd12` from CI
- Packages are no longer provided (http://pkg.freebsd.org/)
- Added test for `HTCP host name` specification
- Renamed files in `src`/`includes` to match target names
- `src/daemon.c` → `src/renderd.c`
- `src/speedtest.cpp` →`src/render_speedtest.cpp`
- `includes/daemon.h` → `includes/renderd.h`
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
* 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>
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
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)
```
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`
* Minimise the time we hold the lock when dequeuing a request
* Add missing static to global variables
* Scale the queue length with the number of threads
* Added the possibility to provide ImageIO's output format in the TYPE string.
For instance:
TYPE=png image/png
TYPE=png image/png png256
TYPE=png image/png png24
TYPE=png image/png png
* Removed useless comments.
Added documentation for output format.
* Added tests for 'webp' output format
* Also added tests for 'png32' output format
* Fix 'webp' sums vary based on version
* Add JPG & use multiple layers on example-map
---------
Co-authored-by: Tim <autintim@gmail.com>
* Add coverage reporting
* No longer need to run `astyle` from within a container
* Multiple test runs seems to help catch more coverage
* Re-order renderd shutdown processes
* Move coverage job into a new workflow
* Copy the Ubuntu 20.04 docs to Debian 12
* Update debian docs to refer to proper location of example map
* update debian docs to match what mapnik installs
* Update debian docs to match the installed URL
* Link to debian docs in README