commit
174c82662d
2 changed files with 81 additions and 42 deletions
81
.circleci/config.yml
Normal file
81
.circleci/config.yml
Normal file
|
@ -0,0 +1,81 @@
|
|||
version: 2
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/mapnik/mapnik
|
||||
parallelism: 1
|
||||
shell: /bin/bash --login
|
||||
environment:
|
||||
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
||||
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
|
||||
XCODE_SCHEME: 'no'
|
||||
XCODE_WORKSPACE: 'no'
|
||||
JOBS: 8
|
||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||
CCACHE_COMPRESS: 1
|
||||
LLVM_VERSION: 3.9.1
|
||||
|
||||
# VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
|
||||
# To see the list of pre-built images that CircleCI provides for most common languages see
|
||||
# https://circleci.com/docs/2.0/circleci-images/
|
||||
docker:
|
||||
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
|
||||
command: /sbin/init
|
||||
steps:
|
||||
- checkout
|
||||
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
|
||||
# In many cases you can simplify this from what is generated here.
|
||||
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
|
||||
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
|
||||
# Checkout
|
||||
# This would typically go in either a build or a build-and-test job when using workflows
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: git submodule update --init
|
||||
# Dependencies
|
||||
# This would typically go in either a build or a build-and-test job when using workflows
|
||||
# Restore the dependency cache
|
||||
- restore_cache:
|
||||
keys:
|
||||
# This branch if available
|
||||
- v1-dep-{{ .Branch }}-
|
||||
# Default branch if not
|
||||
- v1-dep-master-
|
||||
# Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
|
||||
- v1-dep-
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial
|
||||
- run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: sudo apt-get update -y
|
||||
- run: sudo apt-get install -y libstdc++-5-dev xutils-dev
|
||||
# Save dependency cache
|
||||
- save_cache:
|
||||
key: v1-dep-{{ .Branch }}-{{ epoch }}
|
||||
paths:
|
||||
# This is a broad list of cache paths to include many possible development environments
|
||||
# These cache paths were specified in the 1.0 config
|
||||
- ~/.ccache
|
||||
- ~/.apt-cache
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: ./bootstrap.sh
|
||||
- run: ./.mason/mason install clang++ ${LLVM_VERSION}
|
||||
- run: ./.mason/mason link clang++ ${LLVM_VERSION}
|
||||
- run: ./configure CC="$(pwd)/mason_packages/.link/bin/clang" CXX="$(pwd)/mason_packages/.link/bin/ccache $(pwd)/mason_packages/.link/bin/clang++ -Qunused-arguments"
|
||||
- run: make
|
||||
- run: nm src/libmapnik* | grep "GLIBCXX_3.4.2[0-9]" || true
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: psql -c 'create database template_postgis;'
|
||||
- run: psql -c 'create extension postgis;' -d template_postgis
|
||||
# Test
|
||||
# This would typically be a build job when using workflows, possibly combined with build
|
||||
# This is based on your 1.0 configuration file or project settings
|
||||
- run: make test
|
||||
# Teardown
|
||||
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
|
||||
# Save test results
|
||||
- store_test_results:
|
||||
path: /tmp/circleci-test-results
|
||||
# Save artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-test-results
|
42
circle.yml
42
circle.yml
|
@ -1,42 +0,0 @@
|
|||
machine:
|
||||
xcode:
|
||||
version: 7.3
|
||||
environment:
|
||||
XCODE_SCHEME: "no"
|
||||
XCODE_WORKSPACE: "no"
|
||||
JOBS: 8
|
||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||
CCACHE_COMPRESS: 1
|
||||
LLVM_VERSION: 3.9.1
|
||||
|
||||
checkout:
|
||||
post:
|
||||
- git submodule update --init
|
||||
|
||||
dependencies:
|
||||
cache_directories:
|
||||
- "~/.ccache"
|
||||
- "~/.apt-cache"
|
||||
pre:
|
||||
# https://discuss.circleci.com/t/add-ability-to-cache-apt-get-programs/598/3
|
||||
- sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial
|
||||
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
override:
|
||||
- sudo apt-get update -y
|
||||
- sudo apt-get install -y libstdc++-5-dev xutils-dev
|
||||
|
||||
database:
|
||||
pre:
|
||||
- ./bootstrap.sh
|
||||
- ./.mason/mason install clang++ ${LLVM_VERSION}
|
||||
- ./.mason/mason link clang++ ${LLVM_VERSION}
|
||||
- ./configure CC="$(pwd)/mason_packages/.link/bin/clang" CXX="$(pwd)/mason_packages/.link/bin/ccache $(pwd)/mason_packages/.link/bin/clang++ -Qunused-arguments"
|
||||
- make
|
||||
- nm src/libmapnik* | grep "GLIBCXX_3.4.2[0-9]" || true
|
||||
override:
|
||||
- psql -c 'create database template_postgis;'
|
||||
- psql -c 'create extension postgis;' -d template_postgis
|
||||
|
||||
test:
|
||||
override:
|
||||
- make test
|
Loading…
Reference in a new issue