{"id":30157506,"url":"https://github.com/chrstnbwnkl/valhalla-gurka-container","last_synced_at":"2026-02-23T21:02:52.499Z","repository":{"id":302854551,"uuid":"1013203174","full_name":"chrstnbwnkl/valhalla-gurka-container","owner":"chrstnbwnkl","description":"Container image for writing your own Gurka tests for applications using Valhalla's C++ API","archived":false,"fork":false,"pushed_at":"2025-07-26T09:09:00.000Z","size":35,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-26T15:19:58.409Z","etag":null,"topics":["valhalla"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrstnbwnkl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-03T14:12:35.000Z","updated_at":"2025-07-26T09:09:03.000Z","dependencies_parsed_at":"2025-07-04T13:32:24.318Z","dependency_job_id":"03ebeee9-01d1-4fc5-ad3b-0929222fc85d","html_url":"https://github.com/chrstnbwnkl/valhalla-gurka-container","commit_stats":null,"previous_names":["chrstnbwnkl/valhalla-gurka-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chrstnbwnkl/valhalla-gurka-container","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrstnbwnkl%2Fvalhalla-gurka-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrstnbwnkl%2Fvalhalla-gurka-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrstnbwnkl%2Fvalhalla-gurka-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrstnbwnkl%2Fvalhalla-gurka-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrstnbwnkl","download_url":"https://codeload.github.com/chrstnbwnkl/valhalla-gurka-container/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrstnbwnkl%2Fvalhalla-gurka-container/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269899147,"owners_count":24493073,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["valhalla"],"created_at":"2025-08-11T13:40:05.502Z","updated_at":"2025-10-30T17:39:08.365Z","avatar_url":"https://github.com/chrstnbwnkl.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Valhalla Test Container Image\n\nA container image for writing your own Gurka tests for applications using Valhalla's C++ API\n\n## Introduction \n\nValhalla uses its own integration test library called Gurka. Besides a lot of convenient features for running actions and checking their outcomes (e.g. routes, matrix, etc.) its most practical use is drawing ASCII maps and converting them into OSM maps and Valhalla graphs. Here's what that looks like:  \n\n```cpp\nusing namespace valhalla;\n\nconstexpr double gridsize = 100;\nconst std::string ascii_map = R\"(\n    A-B-C-D-E\n        |\n        |1\n        F···G\n        |\n        |2\n        H\n  )\";\n\nconst gurka::ways ways = {\n{\"AB\", {{\"highway\", \"primary\"}}}, {\"BC\", {{\"highway\", \"primary\"}}},\n{\"CD\", {{\"highway\", \"primary\"}}}, {\"DE\", {{\"highway\", \"primary\"}}},\n{\"CF\", {{\"highway\", \"service\"}}}, {\"FH\", {{\"highway\", \"service\"}}},\n{\"FG\", {{\"highway\", \"footway\"}}},\n};\n\nconst gurka::nodes nodes = {{\"E\", {{\"barrier\", \"block\"}}}};\n\nconst auto layout = gurka::detail::map_to_coordinates(ascii_map, gridsize);\n\nauto map = gurka::buildtiles(layout, ways, nodes, {}, \"test/data/deadend\");\n```\n\nYou can read more about Gurka [here](https://github.com/valhalla/valhalla/blob/master/docs/docs/test/gurka.md).\n\n## Usage \n\nJust pull the image and use it to integrate with your own application:\n\n```sh \ndocker pull ghcr.io/chrstnbwnkl/valhalla-gurka-container/valhalla-dev:latest\n\n# or if you want a specific version of Valhalla (reach out if you need an older version)\ndocker pull ghcr.io/chrstnbwnkl/valhalla-gurka-container/valhalla-dev:3.5.1\n```\n\nThe image contains a release build of Valhalla with debug information along with Valhalla's test library and headers that you can link your project against if you want to write your own Gurka tests. \n\n`cmake/FindValhallaTest.cmake` contains an example module that you can use for linking. You can copy that module into your project and use it like this: \n\n```cmake \n# in your CMakeLists.txt\nfind_package(ValhallaTest REQUIRED)\n\n# valhalla does not vendor googletest, so include it yourself, \n# best as a submodule pointing to the same commit as Valhalla\nset(gtest_force_shared_crt ON CACHE BOOL \"\" FORCE)\nadd_subdirectory(${CMAKE_SOURCE_DIR}/third_party/googletest ${CMAKE_BINARY_DIR}/googletest)\n\ntarget_link_libraries(${your_test} gtest gtest_main gmock ${VALHALLA_TEST_LIB})\n``` \n\n\nThen in your tests, you can include everything you need like this: \n\n```cpp \n#include \u003cgtest/gtest.h\u003e\n#include \u003cvalhalla/gurka.h\u003e\n#include \u003cvalhalla/test.h\u003e\n\n// ...your tests here, just like in the upstream repo\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrstnbwnkl%2Fvalhalla-gurka-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrstnbwnkl%2Fvalhalla-gurka-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrstnbwnkl%2Fvalhalla-gurka-container/lists"}