Implement NodeJS based server fully replicating osrm-routed
This commit is contained in:
		
							parent
							
								
									61810b9205
								
							
						
					
					
						commit
						3f0ded653d
					
				
							
								
								
									
										180
									
								
								.github/workflows/osrm-backend.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										180
									
								
								.github/workflows/osrm-backend.yml
									
									
									
									
										vendored
									
									
								
							| @ -20,55 +20,55 @@ env: | ||||
|   ENABLE_NODE_BINDINGS: "ON" | ||||
| 
 | ||||
| jobs: | ||||
|   # windows: | ||||
|   #   needs: format-taginfo-docs | ||||
|   #   runs-on: windows-2022 | ||||
|   #   continue-on-error: false | ||||
|   #   env: | ||||
|   #     BUILD_TYPE: Release | ||||
|   #     ENABLE_APPLE_SILICON: "OFF" | ||||
|   #   steps: | ||||
|   #   - uses: actions/checkout@v3 | ||||
|   #   - run: pip install conan==1.51.3 | ||||
|   #   - run: conan --version | ||||
|   #   - run: cmake --version | ||||
|   #   - uses: actions/setup-node@v3 | ||||
|   #     with: | ||||
|   #       node-version: 16 | ||||
|   #   - run: node --version | ||||
|   #   - run: npm --version | ||||
|   #   - name: Prepare environment | ||||
|   #     shell: bash | ||||
|   #     run: | | ||||
|   #       PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") | ||||
|   #       echo PUBLISH=$([[ "${GITHUB_REF:-}" == "refs/tags/v${PACKAGE_JSON_VERSION}" ]] && echo "On" || echo "Off") >> $GITHUB_ENV | ||||
|   #   - run: npm install --ignore-scripts | ||||
|   #   - run: npm link --ignore-scripts | ||||
|   #   - uses: microsoft/setup-msbuild@v1.1 | ||||
|   #   - name: Build | ||||
|   #     run: | | ||||
|   #       .\scripts\ci\windows-build.bat | ||||
|   #   - name: Run node tests | ||||
|   #     shell: bash | ||||
|   #     run: | | ||||
|   #       ./lib/binding/osrm-datastore.exe test/data/ch/monaco.osrm | ||||
|   #       node test/nodejs/index.js | ||||
|   #   - name: Build Node package | ||||
|   #     shell: bash | ||||
|   #     run: ./scripts/ci/node_package.sh | ||||
|   #   - name: Publish Node package | ||||
|   #     if: ${{ env.PUBLISH == 'On' }} | ||||
|   #     uses: ncipollo/release-action@v1 | ||||
|   #     with: | ||||
|   #       allowUpdates: true | ||||
|   #       artifactErrorsFailBuild: true | ||||
|   #       artifacts: build/stage/**/*.tar.gz | ||||
|   #       omitBody: true | ||||
|   #       omitBodyDuringUpdate: true | ||||
|   #       omitName: true | ||||
|   #       omitNameDuringUpdate: true | ||||
|   #       replacesArtifacts: true | ||||
|   #       token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   windows: | ||||
|     needs: format-taginfo-docs | ||||
|     runs-on: windows-2022 | ||||
|     continue-on-error: false | ||||
|     env: | ||||
|       BUILD_TYPE: Release | ||||
|       ENABLE_APPLE_SILICON: "OFF" | ||||
|     steps: | ||||
|     - uses: actions/checkout@v3 | ||||
|     - run: pip install conan==1.51.3 | ||||
|     - run: conan --version | ||||
|     - run: cmake --version | ||||
|     - uses: actions/setup-node@v3 | ||||
|       with: | ||||
|         node-version: 16 | ||||
|     - run: node --version | ||||
|     - run: npm --version | ||||
|     - name: Prepare environment | ||||
|       shell: bash | ||||
|       run: | | ||||
|         PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") | ||||
|         echo PUBLISH=$([[ "${GITHUB_REF:-}" == "refs/tags/v${PACKAGE_JSON_VERSION}" ]] && echo "On" || echo "Off") >> $GITHUB_ENV | ||||
|     - run: npm install --ignore-scripts | ||||
|     - run: npm link --ignore-scripts | ||||
|     - uses: microsoft/setup-msbuild@v1.1 | ||||
|     - name: Build | ||||
|       run: | | ||||
|         .\scripts\ci\windows-build.bat | ||||
|     - name: Run node tests | ||||
|       shell: bash | ||||
|       run: | | ||||
|         ./lib/binding/osrm-datastore.exe test/data/ch/monaco.osrm | ||||
|         node test/nodejs/index.js | ||||
|     - name: Build Node package | ||||
|       shell: bash | ||||
|       run: ./scripts/ci/node_package.sh | ||||
|     - name: Publish Node package | ||||
|       if: ${{ env.PUBLISH == 'On' }} | ||||
|       uses: ncipollo/release-action@v1 | ||||
|       with: | ||||
|         allowUpdates: true | ||||
|         artifactErrorsFailBuild: true | ||||
|         artifacts: build/stage/**/*.tar.gz | ||||
|         omitBody: true | ||||
|         omitBodyDuringUpdate: true | ||||
|         omitName: true | ||||
|         omitNameDuringUpdate: true | ||||
|         replacesArtifacts: true | ||||
|         token: ${{ secrets.GITHUB_TOKEN }} | ||||
| 
 | ||||
|   format-taginfo-docs: | ||||
|     runs-on: ubuntu-20.04 | ||||
| @ -119,48 +119,48 @@ jobs: | ||||
|         popd | ||||
|         ./scripts/error_on_dirty.sh | ||||
| 
 | ||||
|   # docker-image: | ||||
|   #   needs: format-taginfo-docs | ||||
|   #   runs-on: ubuntu-22.04 | ||||
|   #   continue-on-error: false | ||||
|   #   steps: | ||||
|   #     - name: Check out the repo | ||||
|   #       uses: actions/checkout@v3 | ||||
|   #     - name: Enable osm.pbf cache | ||||
|   #       uses: actions/cache@v2 | ||||
|   #       with: | ||||
|   #         path: berlin-latest.osm.pbf | ||||
|   #         key: v1-berlin-osm-pbf | ||||
|   #         restore-keys: | | ||||
|   #           v1-berlin-osm-pbf | ||||
|   #     - name: Docker build | ||||
|   #       run: | | ||||
|   #         docker build -t osrm-backend-local -f docker/Dockerfile . | ||||
|   #     - name: Test Docker image | ||||
|   #       run: | | ||||
|   #         if [ ! -f "${PWD}/berlin-latest.osm.pbf" ]; then | ||||
|   #           wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf | ||||
|   #         fi | ||||
|   #         TAG=osrm-backend-local | ||||
|   #         # when `--memory-swap` value equals `--memory` it means container won't use swap | ||||
|   #         # see https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details | ||||
|   #         MEMORY_ARGS="--memory=1g --memory-swap=1g" | ||||
|   #         docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-extract --dump-nbg-graph -p /opt/car.lua /data/berlin-latest.osm.pbf | ||||
|   #         docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-components /data/berlin-latest.osrm.nbg /data/berlin-latest.geojson | ||||
|   #         if [ ! -s "${PWD}/berlin-latest.geojson" ] | ||||
|   #         then | ||||
|   #           >&2 echo "No berlin-latest.geojson found" | ||||
|   #           exit 1 | ||||
|   #         fi | ||||
|   docker-image: | ||||
|     needs: format-taginfo-docs | ||||
|     runs-on: ubuntu-22.04 | ||||
|     continue-on-error: false | ||||
|     steps: | ||||
|       - name: Check out the repo | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: Enable osm.pbf cache | ||||
|         uses: actions/cache@v2 | ||||
|         with: | ||||
|           path: berlin-latest.osm.pbf | ||||
|           key: v1-berlin-osm-pbf | ||||
|           restore-keys: | | ||||
|             v1-berlin-osm-pbf | ||||
|       - name: Docker build | ||||
|         run: | | ||||
|           docker build -t osrm-backend-local -f docker/Dockerfile . | ||||
|       - name: Test Docker image | ||||
|         run: | | ||||
|           if [ ! -f "${PWD}/berlin-latest.osm.pbf" ]; then | ||||
|             wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf | ||||
|           fi | ||||
|           TAG=osrm-backend-local | ||||
|           # when `--memory-swap` value equals `--memory` it means container won't use swap | ||||
|           # see https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details | ||||
|           MEMORY_ARGS="--memory=1g --memory-swap=1g" | ||||
|           docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-extract --dump-nbg-graph -p /opt/car.lua /data/berlin-latest.osm.pbf | ||||
|           docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-components /data/berlin-latest.osrm.nbg /data/berlin-latest.geojson | ||||
|           if [ ! -s "${PWD}/berlin-latest.geojson" ] | ||||
|           then | ||||
|             >&2 echo "No berlin-latest.geojson found" | ||||
|             exit 1 | ||||
|           fi | ||||
| 
 | ||||
|   #         # removing `.osrm.nbg` to check that whole pipeline works without it | ||||
|   #         rm -rf "${PWD}/berlin-latest.osrm.nbg" | ||||
|           # removing `.osrm.nbg` to check that whole pipeline works without it | ||||
|           rm -rf "${PWD}/berlin-latest.osrm.nbg" | ||||
| 
 | ||||
|   #         docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-partition /data/berlin-latest.osrm | ||||
|   #         docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-customize /data/berlin-latest.osrm | ||||
|   #         docker run $MEMORY_ARGS --name=osrm-container -t -p 5000:5000 -v "${PWD}:/data" "${TAG}" osrm-routed --algorithm mld /data/berlin-latest.osrm & | ||||
|   #         curl --retry-delay 3 --retry 10 --retry-all-errors "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true" | ||||
|   #         docker stop osrm-container | ||||
|           docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-partition /data/berlin-latest.osrm | ||||
|           docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-customize /data/berlin-latest.osrm | ||||
|           docker run $MEMORY_ARGS --name=osrm-container -t -p 5000:5000 -v "${PWD}:/data" "${TAG}" osrm-routed --algorithm mld /data/berlin-latest.osrm & | ||||
|           curl --retry-delay 3 --retry 10 --retry-all-errors "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true" | ||||
|           docker stop osrm-container | ||||
| 
 | ||||
|   build-test-publish: | ||||
|     needs: format-taginfo-docs | ||||
| @ -226,7 +226,7 @@ jobs: | ||||
| 
 | ||||
|           - name: conan-linux-release | ||||
|             continue-on-error: false | ||||
|             node: 16 | ||||
|             node: 12 | ||||
|             runs-on: ubuntu-20.04 | ||||
|             BUILD_TOOLS: ON | ||||
|             BUILD_TYPE: Release | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user