wip
This commit is contained in:
		
							parent
							
								
									66df8f5148
								
							
						
					
					
						commit
						8190a30b72
					
				
							
								
								
									
										324
									
								
								.github/workflows/osrm-backend.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										324
									
								
								.github/workflows/osrm-backend.yml
									
									
									
									
										vendored
									
									
								
							| @ -23,154 +23,154 @@ concurrency: | ||||
|   cancel-in-progress: true | ||||
| 
 | ||||
| jobs: | ||||
|   # windows-release-node: | ||||
|   #   #needs: format-taginfo-docs | ||||
|   #   runs-on: windows-2022 | ||||
|   #   continue-on-error: false | ||||
|   #   env: | ||||
|   #     BUILD_TYPE: Release | ||||
|   #   steps: | ||||
|   #   - uses: actions/checkout@v4 | ||||
|   #   - run: cmake --version | ||||
|   #   - uses: actions/setup-node@v4 | ||||
|   #     with: | ||||
|   #       node-version: 18 | ||||
|   #   - 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 | ||||
|   #   - name: Build | ||||
|   #     shell: bash | ||||
|   #     run: | | ||||
|   #       mkdir build | ||||
|   #       cd build | ||||
|   windows-release-node: | ||||
|     #needs: format-taginfo-docs | ||||
|     runs-on: windows-2022 | ||||
|     continue-on-error: false | ||||
|     env: | ||||
|       BUILD_TYPE: Release | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - run: cmake --version | ||||
|     - uses: actions/setup-node@v4 | ||||
|       with: | ||||
|         node-version: 18 | ||||
|     - 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 | ||||
|     - name: Build | ||||
|       shell: bash | ||||
|       run: | | ||||
|         mkdir build | ||||
|         cd build | ||||
| 
 | ||||
|   #       python3 -m venv .venv | ||||
|         python3 -m venv .venv | ||||
| 
 | ||||
|   #       source .venv/Scripts/Activate | ||||
|         source .venv/Scripts/Activate | ||||
| 
 | ||||
|   #       python3 -m pip install conan==2.7.1 | ||||
|         python3 -m pip install conan==2.7.1 | ||||
| 
 | ||||
|   #       conan profile detect --force | ||||
|         conan profile detect --force | ||||
| 
 | ||||
|         # conan install .. --output-folder=. --build=missing --settings compiler.cppstd=20 | ||||
| 
 | ||||
|         # ls -la | ||||
| 
 | ||||
|   #       cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON -DCMAKE_TOOLCHAIN_FILE=./conan_toolchain.cmake .. | ||||
|   #       cmake --build . --config Release | ||||
|         cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON .. | ||||
|         cmake --build . --config Release | ||||
|          | ||||
|   #   # TODO: MSVC goes out of memory when building our tests | ||||
|   #   # - name: Run tests | ||||
|   #   #   shell: bash | ||||
|   #   #   run: | | ||||
|   #   #     cd build | ||||
|   #   #     cmake --build . --config Release --target tests | ||||
|   #   #     # TODO: run tests | ||||
|   #   # - name: Run node tests | ||||
|   #   #   shell: bash | ||||
|   #   #   run: | | ||||
|   #   #     ./lib/binding/osrm-extract.exe -p profiles/car.lua test/data/monaco.osm.pbf | ||||
| 
 | ||||
|   #   #     mkdir -p test/data/ch | ||||
|   #   #     cp test/data/monaco.osrm* test/data/ch/ | ||||
|   #   #     ./lib/binding/osrm-contract.exe test/data/ch/monaco.osrm | ||||
| 
 | ||||
|   #   #     ./lib/binding/osrm-datastore.exe test/data/ch/monaco.osrm | ||||
|   #   #     node test/nodejs/index.js | ||||
|   #   - name: Build Node package | ||||
|     # TODO: MSVC goes out of memory when building our tests | ||||
|     # - name: Run tests | ||||
|     #   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 }} | ||||
|     #   run: | | ||||
|     #     cd build | ||||
|     #     cmake --build . --config Release --target tests | ||||
|     #     # TODO: run tests | ||||
|     # - name: Run node tests | ||||
|     #   shell: bash | ||||
|     #   run: | | ||||
|     #     ./lib/binding/osrm-extract.exe -p profiles/car.lua test/data/monaco.osm.pbf | ||||
| 
 | ||||
|   # format-taginfo-docs: | ||||
|   #   runs-on: ubuntu-22.04 | ||||
|   #   steps: | ||||
|   #   - uses: actions/checkout@v4 | ||||
|   #   - name: Use Node.js | ||||
|   #     uses: actions/setup-node@v4 | ||||
|   #     with: | ||||
|   #       node-version: 18 | ||||
|   #   - name: Enable Node.js cache | ||||
|   #     uses: actions/cache@v4 | ||||
|   #     with: | ||||
|   #       path: ~/.npm | ||||
|   #       key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||
|   #       restore-keys: | | ||||
|   #         ${{ runner.os }}-node- | ||||
|   #   - name: Prepare environment | ||||
|   #     run: | | ||||
|   #       npm ci --ignore-scripts | ||||
|   #       clang-format-15 --version | ||||
|   #   - name: Run checks | ||||
|   #     run: | | ||||
|   #       ./scripts/check_taginfo.py taginfo.json profiles/car.lua | ||||
|   #       ./scripts/format.sh && ./scripts/error_on_dirty.sh | ||||
|   #       node ./scripts/validate_changelog.js | ||||
|   #       npm run docs && ./scripts/error_on_dirty.sh | ||||
|   #       npm audit --production | ||||
|     #     mkdir -p test/data/ch | ||||
|     #     cp test/data/monaco.osrm* test/data/ch/ | ||||
|     #     ./lib/binding/osrm-contract.exe test/data/ch/monaco.osrm | ||||
| 
 | ||||
|   # docker-image-matrix: | ||||
|   #   strategy: | ||||
|   #     matrix: | ||||
|   #       docker-base-image: ["debian", "alpine"] | ||||
|   #   needs: format-taginfo-docs | ||||
|   #   runs-on: ubuntu-22.04 | ||||
|   #   continue-on-error: false | ||||
|   #   steps: | ||||
|   #     - name: Check out the repo | ||||
|   #       uses: actions/checkout@v4 | ||||
|   #     - name: Enable osm.pbf cache | ||||
|   #       uses: actions/cache@v4 | ||||
|   #       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-${{ matrix.docker-base-image }} . | ||||
|   #     - 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" | ||||
|     #     ./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 }} | ||||
| 
 | ||||
|   #         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 | ||||
|   format-taginfo-docs: | ||||
|     runs-on: ubuntu-22.04 | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - name: Use Node.js | ||||
|       uses: actions/setup-node@v4 | ||||
|       with: | ||||
|         node-version: 18 | ||||
|     - name: Enable Node.js cache | ||||
|       uses: actions/cache@v4 | ||||
|       with: | ||||
|         path: ~/.npm | ||||
|         key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-node- | ||||
|     - name: Prepare environment | ||||
|       run: | | ||||
|         npm ci --ignore-scripts | ||||
|         clang-format-15 --version | ||||
|     - name: Run checks | ||||
|       run: | | ||||
|         ./scripts/check_taginfo.py taginfo.json profiles/car.lua | ||||
|         ./scripts/format.sh && ./scripts/error_on_dirty.sh | ||||
|         node ./scripts/validate_changelog.js | ||||
|         npm run docs && ./scripts/error_on_dirty.sh | ||||
|         npm audit --production | ||||
| 
 | ||||
|   docker-image-matrix: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         docker-base-image: ["debian", "alpine"] | ||||
|     needs: format-taginfo-docs | ||||
|     runs-on: ubuntu-22.04 | ||||
|     continue-on-error: false | ||||
|     steps: | ||||
|       - name: Check out the repo | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Enable osm.pbf cache | ||||
|         uses: actions/cache@v4 | ||||
|         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-${{ matrix.docker-base-image }} . | ||||
|       - 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" | ||||
| 
 | ||||
|           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 | ||||
| @ -387,34 +387,34 @@ jobs: | ||||
|       uses: actions/setup-node@v4 | ||||
|       with: | ||||
|         node-version: ${{ matrix.node }} | ||||
|     # - name: Enable Node.js cache | ||||
|     #   uses: actions/cache@v4 | ||||
|     #   with: | ||||
|     #     path: ~/.npm | ||||
|     #     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||
|     #     restore-keys: | | ||||
|     #       ${{ runner.os }}-node- | ||||
|     # - name: Enable compiler cache | ||||
|     #   uses: actions/cache@v4 | ||||
|     #   with: | ||||
|     #     path: ~/.ccache | ||||
|     #     key: ccache-${{ matrix.name }}-${{ github.sha }} | ||||
|     #     restore-keys: | | ||||
|     #       ccache-${{ matrix.name }}- | ||||
|     # - name: Enable Conan cache | ||||
|     #   uses: actions/cache@v4 | ||||
|     #   with: | ||||
|     #     path: ~/.conan2 | ||||
|     #     key: v10-conan-${{ matrix.name }}-${{ github.sha }} | ||||
|     #     restore-keys: | | ||||
|     #       v10-conan-${{ matrix.name }}- | ||||
|     # - name: Enable test cache | ||||
|     #   uses: actions/cache@v4 | ||||
|     #   with: | ||||
|     #     path: ${{github.workspace}}/test/cache | ||||
|     #     key: v4-test-${{ matrix.name }}-${{ github.sha }} | ||||
|     #     restore-keys: | | ||||
|     #       v4-test-${{ matrix.name }}- | ||||
|     - name: Enable Node.js cache | ||||
|       uses: actions/cache@v4 | ||||
|       with: | ||||
|         path: ~/.npm | ||||
|         key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-node- | ||||
|     - name: Enable compiler cache | ||||
|       uses: actions/cache@v4 | ||||
|       with: | ||||
|         path: ~/.ccache | ||||
|         key: ccache-${{ matrix.name }}-${{ github.sha }} | ||||
|         restore-keys: | | ||||
|           ccache-${{ matrix.name }}- | ||||
|     - name: Enable Conan cache | ||||
|       uses: actions/cache@v4 | ||||
|       with: | ||||
|         path: ~/.conan2 | ||||
|         key: v10-conan-${{ matrix.name }}-${{ github.sha }} | ||||
|         restore-keys: | | ||||
|           v10-conan-${{ matrix.name }}- | ||||
|     - name: Enable test cache | ||||
|       uses: actions/cache@v4 | ||||
|       with: | ||||
|         path: ${{github.workspace}}/test/cache | ||||
|         key: v4-test-${{ matrix.name }}-${{ github.sha }} | ||||
|         restore-keys: | | ||||
|           v4-test-${{ matrix.name }}- | ||||
|     - name: Prepare environment | ||||
|       run: | | ||||
|         echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user