matrix: platform: - 'linux/amd64' - 'linux/arm64' platform: ${platform} pipeline: setup_environment: image: docker.io/juliangro/overte-server-build:0.1 commands: - > if [ "${platform}" = "aarch64" ]; then export VCPKG_FORCE_SYSTEM_BINARIES=true fi - mkdir build configure_build: image: docker.io/juliangro/overte-server-build:0.1 environment: - VIRCADIA_USE_SYSTEM_QT=true - STABLE_BUILD=0 commands: - cd build - > if [ "${platform}" = "linux/amd64" ]; then cmake .. -DSERVER_ONLY=1 -DBUILD_TOOLS=0 -DVIRCADIA_CPU_ARCHITECTURE=-msse3 -DCMAKE_BUILD_TYPE=Release -DVCPKG_BUILD_TYPE=release elif [ "${platform}" = "linux/arm64" ]; then cmake .. -DSERVER_ONLY=1 -DBUILD_TOOLS=0 -DVIRCADIA_CPU_ARCHITECTURE= -DCMAKE_BUILD_TYPE=Release -DVCPKG_BUILD_TYPE=release else return 1 fi build_domain_server: image: docker.io/juliangro/overte-server-build:0.1 commands: - cd build - make -j$(nproc) domain-server build_assignment_client: image: docker.io/juliangro/overte-server-build:0.1 commands: - cd build - make -j$(nproc) assignment-client create_docker_runtime_image: image: woodpeckerci/plugin-docker-buildx settings: dry_run: true repo: overte-org/overte-server dockerfile: tools/ci-scripts/docker_package/Dockerfile_runtime platforms: ${platform} tag: ${CI_COMMIT_SHA}_${CI_BUILD_NUMBER} export_docker_runtime_image: image: docker.io/juliangro/overte-server-build:0.1 commands: - > if [ "${platform}" = "linux/amd64" ]; then echo "Exporting image.." docker image save -o overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-amd64.tar overte-org/overte-server:${CI_COMMIT_SHA}_${CI_BUILD_NUMBER} echo "Compressing with xz.." xz -z -T0 overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-amd64.tar echo "Done." export "ARTIFACT_PATTERN=overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-amd64.tar.xz" elif [ "${platform}" = "linux/arm64" ]; then echo "Exporting image.." docker image save -o overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-aarch64.tar overte-org/overte-server:${CI_COMMIT_SHA}_${CI_BUILD_NUMBER} echo "Compressing with xz.." xz -z -T0 overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-aarch64.tar echo "Done." export "ARTIFACT_PATTERN=overte-server-PR${CI_COMMIT_PULL_REQUEST}-${CI_COMMIT_SHA:0:7}-aarch64.tar.xz" else return 0 fi upload_docker_runtime_image: image: woodpeckerci/plugin-s3 settings: endpoint: https://fra1.digitaloceanspaces.com bucket: overte-public acl: public-read access_key: from_secret: do_s3_access_key secret_key: from_secret: do_s3_secret_key source: $ARTIFACT_PATTERN target: /experiment/$ARTIFACT_PATTERN