-
Nicolas Werner authoredNicolas Werner authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 6.43 KiB
variables:
CCACHE_COMPILERCHECK: content
CCACHE_DIR: "${CI_PROJECT_DIR}/.ccache"
# prevent configure tzdata hanging apt install commands
DEBIAN_FRONTEND: noninteractive
include:
- template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'
stages:
- prepare
- build
.build-synapse-image:
stage: prepare
image:
# newer version doesn't seem to like our arm runner
name: gcr.io/kaniko-project/executor:v1.6.0-debug
entrypoint: [""]
rules:
- if: $CI_COMMIT_BRANCH
changes:
- .ci/synapse/Dockerfile
- .ci/synapse/setup-synapse.sh
- .ci/synapse/service/synapse/*
- .ci/synapse/service/postgresql/*
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --whitelist-var-run=false --context $CI_PROJECT_DIR/.ci/synapse --dockerfile $CI_PROJECT_DIR/.ci/synapse/Dockerfile --destination $CI_REGISTRY_IMAGE/synapse-${M_ARCH}:latest
build synapse amd64:
extends: .build-synapse-image
tags: [docker]
variables:
M_ARCH: x86_64
build synapse arm64:
extends: .build-synapse-image
tags: [docker-arm64]
variables:
M_ARCH: aarch64
.build-linux:
stage: build
image:
name: ubuntu:22.04
services:
- name: $CI_REGISTRY_IMAGE/synapse-${M_ARCH}:latest
alias: synapse
variables:
TRAVIS_OS_NAME: linux
before_script:
- apt-get update
- apt-get install -y software-properties-common
- add-apt-repository ppa:ubuntu-toolchain-r/test -y
- apt-get update && apt-get -y install --no-install-recommends build-essential ninja-build libssl-dev git ccache curl lcov gcovr cmake libgtest-dev
# need recommended deps for wget
- apt-get -y install wget
- rm -rf ../.hunter && mv .hunter ../.hunter || true
script:
- curl -s -f -k https://synapse:8008/_matrix/client/versions
- export PATH="/usr/lib/ccache:${PATH}"
- export CMAKE_BUILD_PARALLEL_LEVEL=$(cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l)
- export PATH="/usr/local/bin/:${PATH}"
- cmake -GNinja -H. -Bbuild
-DCMAKE_INSTALL_PREFIX=.deps/usr
-DHUNTER_ROOT="../.hunter"
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF
-DCMAKE_BUILD_TYPE=Debug -DHUNTER_CONFIGURATION_TYPES=Debug