Skip to content

merge vector_tiles

merge vector_tiles #19

Workflow file for this run

name: "Continuous Integration"
on:
push:
branches: [ master ]
pull_request:
jobs:
unix-build:
strategy:
matrix:
include:
- os: ubuntu-22.04
triplet: x64-linux
executable: tilemaker
path: /usr/local/share/vcpkg/installed
toolchain: /usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake
name: ${{ matrix.os }} (CMake)
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Enable vcpkg cache
uses: actions/cache@v2
with:
path: ${{ matrix.path }}
key: vcpkg-${{ matrix.triplet }}-0 # Increase the number whenever dependencies are modified
restore-keys: vcpkg-${{ matrix.triplet }}
- name: Build dependencies
run: |
vcpkg install --triplet=${{ matrix.triplet }} lua shapelib zlib protobuf[zlib] sqlite3 boost-program-options boost-filesystem boost-geometry boost-system boost-asio boost-interprocess boost-iostreams boost-sort rapidjson
- name: Build tilemaker
run: |
mkdir build
cd build
cmake -DTILEMAKER_BUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DCMAKE_CXX_COMPILER=g++ ..
cmake --build .
strip tilemaker
unix-makefile-build:
strategy:
matrix:
include:
- os: ubuntu-22.04
name: ${{ matrix.os }} (Makefile)
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install Linux dependencies
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo apt install build-essential libboost-dev libboost-filesystem-dev libboost-iostreams-dev libboost-program-options-dev libboost-system-dev luajit libluajit-5.1-dev liblua5.1-0-dev libshp-dev libsqlite3-dev rapidjson-dev zlib1g-dev
- name: Install Mac OS X dependencies
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-14' }}
run: |
c++ --version
brew install boost lua shapelib rapidjson
- name: Build tilemaker
run: |
make -j4
make test
docker-build:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
if: ${{ github.ref != 'refs/heads/master'}}
with:
context: .
push: false
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
if: ${{ github.ref == 'refs/heads/master'}}
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}