mirror of
https://github.com/JulianGro/overte.git
synced 2025-08-17 06:07:56 +02:00
Update GitHub Actions for use with Conan.
This commit is contained in:
parent
683df9ca28
commit
2fcceda23f
13 changed files with 286 additions and 146 deletions
111
.github/workflows/linux_server_build.yml
vendored
111
.github/workflows/linux_server_build.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
# Copyright 2013-2019 High Fidelity, Inc.
|
||||
# Copyright 2020-2022 Vircadia contributors.
|
||||
# Copyright 2021-2024 Overte e.V.
|
||||
# Copyright 2021-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
name: Linux Server CI Build
|
||||
|
@ -8,7 +8,7 @@ name: Linux Server CI Build
|
|||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened, labeled]
|
||||
types: [labeled]
|
||||
push:
|
||||
tags:
|
||||
# Release tags. E.g. 2024.06.1
|
||||
|
@ -21,8 +21,6 @@ env:
|
|||
UPLOAD_BUCKET: overte-public
|
||||
UPLOAD_REGION: fra1
|
||||
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
|
||||
# Disable VCPKG caching to save time.
|
||||
VCPKG_FEATURE_FLAGS: -binarycaching
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -33,69 +31,81 @@ jobs:
|
|||
matrix:
|
||||
include:
|
||||
- os: debian-11
|
||||
image: docker.io/overte/overte-server-build:0.1.3-debian-11-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-debian-11-amd64
|
||||
arch: amd64
|
||||
conan_qt: False
|
||||
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Meta-Labels
|
||||
# self_hosted makes the Hetzner auto-scaler put up the job.
|
||||
# type-cx52 is a Hetzner VPS server type. In this case cs52 is a server with 16-cores and 32GB of RAM.
|
||||
# image-x86-app-docker-ce is a Hetzner image.
|
||||
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Specifying-The-Runner-Image
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: debian-11
|
||||
image: docker.io/overte/overte-server-build:0.1.3-debian-11-aarch64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-debian-11-aarch64
|
||||
arch: aarch64
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
|
||||
- os: debian-12
|
||||
image: docker.io/overte/overte-server-build:0.1.3-debian-12-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-debian-12-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: debian-12
|
||||
image: docker.io/overte/overte-server-build:0.1.3-debian-12-aarch64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-debian-12-aarch64
|
||||
arch: aarch64
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
|
||||
- os: ubuntu-20.04
|
||||
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-20.04-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-20.04-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: True
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: ubuntu-22.04
|
||||
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-22.04-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: ubuntu-22.04
|
||||
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-aarch64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-22.04-aarch64
|
||||
arch: aarch64
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
|
||||
- os: ubuntu-24.04
|
||||
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-24.04-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: ubuntu-24.04
|
||||
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-aarch64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-24.04-aarch64
|
||||
arch: aarch64
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
|
||||
- os: fedora-40
|
||||
image: docker.io/overte/overte-server-build:0.1.4-fedora-40-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-fedora-40-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
- os: fedora-40
|
||||
image: docker.io/overte/overte-server-build:0.1.4-fedora-40-aarch64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-fedora-40-aarch64
|
||||
arch: aarch64
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
|
||||
- os: rockylinux-9
|
||||
image: docker.io/overte/overte-server-build:0.1.3-rockylinux-9-amd64
|
||||
image: docker.io/overte/overte-server-build:0.1.5-rockylinux-9-amd64
|
||||
arch: amd64
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
conan_qt: False
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
|
||||
fail-fast: false
|
||||
|
||||
|
@ -125,6 +135,8 @@ jobs:
|
|||
echo "REFNAME=${{ github.ref_name }}" >> $GITHUB_ENV
|
||||
|
||||
echo "JOB_NAME=${{matrix.os}}, ${{matrix.arch}}" >> $GITHUB_ENV
|
||||
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
|
||||
echo "CONAN_CPPSTD=gnu17" >> $GITHUB_ENV
|
||||
|
||||
echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV
|
||||
|
||||
|
@ -154,7 +166,6 @@ jobs:
|
|||
|
||||
# Architecture specific variables
|
||||
if [[ "${{ matrix.arch }}" = "aarch64" ]]; then
|
||||
echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV
|
||||
echo "CMAKE_EXTRA=-DOVERTE_CPU_ARCHITECTURE= -DSERVER_ONLY=true -DBUILD_TOOLS=true" >> $GITHUB_ENV
|
||||
else # amd64
|
||||
echo "CMAKE_EXTRA=-DOVERTE_CPU_ARCHITECTURE=-msse3 -DSERVER_ONLY=true -DBUILD_TOOLS=true" >> $GITHUB_ENV
|
||||
|
@ -222,55 +233,51 @@ jobs:
|
|||
fi
|
||||
fi
|
||||
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Create Build Environment
|
||||
- name: Prepare Conan Build Environment
|
||||
shell: bash
|
||||
run: mkdir build
|
||||
run: |
|
||||
conan profile detect
|
||||
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
|
||||
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
|
||||
|
||||
- name: Install Conan dependencies
|
||||
shell: bash
|
||||
run: conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
|
||||
|
||||
- name: Upload Conan dependencies
|
||||
continue-on-error: true
|
||||
shell: bash
|
||||
env:
|
||||
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
|
||||
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
|
||||
run: |
|
||||
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
|
||||
conan upload --list=pkglist.json -r=overte -c || echo "Credentials cannot be accessed on remote Pull Request builds. Continuing…"
|
||||
|
||||
- name: Configure CMake
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA
|
||||
|
||||
- name: Compress cmake logs
|
||||
if: always()
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
if [ ${{ env.CI_WORKSPACE }} ]; then
|
||||
find "$CI_WORKSPACE/overte-files/vcpkg" -name '*log' -type f -print0 | tar --null --force-local -T - -c --xz -v -f "cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz"
|
||||
else
|
||||
find "$HOME/overte-files/vcpkg" -name '*log' -type f -print0 | tar --null --force-local -T - -c --xz -v -f "cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz"
|
||||
fi
|
||||
|
||||
- name: Archive cmake logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz
|
||||
path: cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz
|
||||
# This syntax requires CMake 3.23
|
||||
run: cmake --preset conan-${BUILD_TYPE,,} $CMAKE_EXTRA
|
||||
|
||||
- name: Build Domain Server
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Assignment Client
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Oven
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target oven $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target oven $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Package
|
||||
working-directory: pkg-scripts
|
||||
|
|
49
.github/workflows/master_build.yml
vendored
49
.github/workflows/master_build.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
# Copyright 2013-2019 High Fidelity, Inc.
|
||||
# Copyright 2020-2022 Vircadia contributors
|
||||
# Copyright 2021-2024 Overte e.V.
|
||||
# Copyright 2021-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
name: Master CI Build
|
||||
|
@ -14,10 +14,7 @@ env:
|
|||
APP_NAME: interface
|
||||
BUILD_TYPE: Release
|
||||
BUILD_NUMBER: ${{ github.event.number }}_${{ github.sha }}
|
||||
CI_BUILD: Github
|
||||
GIT_COMMIT: ${{ github.sha }}
|
||||
# VCPKG did not build well on OSX disabling HIFI_VCPKG_BOOTSTRAP, which invokes a download to a working version of vcpkg
|
||||
# HIFI_VCPKG_BOOTSTRAP: true
|
||||
RELEASE_TYPE: PRODUCTION
|
||||
RELEASE_NUMBER: ${{ github.event.number }}_${{ github.sha }}
|
||||
STABLE_BUILD: 0
|
||||
|
@ -26,8 +23,6 @@ env:
|
|||
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
|
||||
CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}
|
||||
CMAKE_BACKTRACE_TOKEN: master_${{ github.event.number }}_${{ github.sha }}
|
||||
# Disable VCPKG caching to save time.
|
||||
VCPKG_FEATURE_FLAGS: -binarycaching
|
||||
|
||||
# OSX-specific variables
|
||||
DEVELOPER_DIR: /Applications/Xcode_11.2.app/Contents/Developer
|
||||
|
@ -40,15 +35,19 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: "${{matrix.os}}"
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-2019
|
||||
build_type: full
|
||||
conan_qt: True
|
||||
#- os: macOS-10.15
|
||||
# build_type: full
|
||||
# conan_qt: True
|
||||
#- os: ubuntu-20.04
|
||||
# build_type: full
|
||||
# conan_qt: True
|
||||
# apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion3 libpulse0 libsnappy1v5 libwebpdemux2 libwebpmux3 python3-github python3-distro
|
||||
fail-fast: false
|
||||
runs-on: ${{matrix.os}}
|
||||
|
@ -68,8 +67,10 @@ jobs:
|
|||
echo "{github_sha_short}={`echo $GIT_COMMIT | cut -c1-7`}" >> $GITHUB_OUTPUT
|
||||
echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV
|
||||
echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV
|
||||
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
|
||||
# Linux build variables
|
||||
if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then
|
||||
echo "CONAN_CPPSTD=gnu17" >> $GITHUB_ENV
|
||||
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
||||
echo "INSTALLER_EXT=tgz" >> $GITHUB_ENV
|
||||
echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV
|
||||
|
@ -87,6 +88,7 @@ jobs:
|
|||
fi
|
||||
# Windows build variables
|
||||
if [ "${{ matrix.os }}" = "windows-2019" ]; then
|
||||
echo "CONAN_CPPSTD=17" >> $GITHUB_ENV
|
||||
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
|
||||
echo "ZIP_COMMAND=7z" >> $GITHUB_ENV
|
||||
echo "ZIP_ARGS=a" >> $GITHUB_ENV
|
||||
|
@ -166,36 +168,53 @@ jobs:
|
|||
- name: Install Python modules
|
||||
if: startsWith(matrix.os, 'windows') || startsWith(matrix.os, 'macOS')
|
||||
shell: bash
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub conan
|
||||
|
||||
- name: Create build environment
|
||||
- name: Prepare Conan Build Environment
|
||||
shell: bash
|
||||
run: cmake -E make_directory "${{runner.workspace}}/build"
|
||||
run: |
|
||||
conan profile detect
|
||||
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
|
||||
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
|
||||
|
||||
- name: Install Conan dependencies
|
||||
shell: bash
|
||||
run: conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
|
||||
|
||||
- name: Upload Conan dependencies
|
||||
continue-on-error: true
|
||||
shell: bash
|
||||
env:
|
||||
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
|
||||
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
|
||||
run: |
|
||||
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
|
||||
conan upload --list=pkglist.json -r=overte -c
|
||||
|
||||
- name: Configure CMake
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA
|
||||
# This syntax requires CMake 3.23
|
||||
run: cmake --preset conan-${BUILD_TYPE,,} -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA
|
||||
|
||||
- name: Build application
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build domain server
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build assignment client
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build console
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build installer
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
|
|
85
.github/workflows/pr_build.yml
vendored
85
.github/workflows/pr_build.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
# Copyright 2013-2019 High Fidelity, Inc.
|
||||
# Copyright 2020-2022 Vircadia contributors.
|
||||
# Copyright 2021-2024 Overte e.V.
|
||||
# Copyright 2021-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
name: Pull Request CI Build
|
||||
|
@ -13,10 +13,7 @@ on:
|
|||
env:
|
||||
APP_NAME: interface
|
||||
BUILD_TYPE: Release
|
||||
CI_BUILD: Github
|
||||
GIT_COMMIT: ${{ github.event.pull_request.head.sha }}
|
||||
# VCPKG did not build well on OSX disabling HIFI_VCPKG_BOOTSTRAP, which invokes a download to a working version of vcpkg
|
||||
# HIFI_VCPKG_BOOTSTRAP: true
|
||||
RELEASE_TYPE: PR
|
||||
RELEASE_NUMBER: ${{ github.event.number }}
|
||||
VERSION_CODE: ${{ github.event.number }}
|
||||
|
@ -24,8 +21,6 @@ env:
|
|||
# We can't use secrets or actions here, so the actual value has to be hardcoded.
|
||||
CMAKE_BACKTRACE_URL: "https://o4504831972343808.ingest.sentry.io/api/4504832427950080/minidump/?sentry_key=f511de295975461b8f92a36f4a4a4f32"
|
||||
CMAKE_BACKTRACE_TOKEN: PR_${{ github.event.number }}_${{ github.sha }}
|
||||
# Disable VCPKG caching to save time.
|
||||
VCPKG_FEATURE_FLAGS: -binarycaching
|
||||
|
||||
UPLOAD_BUCKET: overte-public
|
||||
UPLOAD_REGION: fra1
|
||||
|
@ -53,19 +48,22 @@ jobs:
|
|||
runner: windows-2019
|
||||
arch: x86_64
|
||||
build_type: full
|
||||
conan_qt: True
|
||||
#- os: macOS-10.15
|
||||
# build_type: full
|
||||
# conan_qt: True
|
||||
- os: Ubuntu 20.04
|
||||
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Meta-Labels
|
||||
# self_hosted makes the Hetzner auto-scaler put up the job.
|
||||
# type-cx52 is a Hetzner VPS server type. In this case cs52 is a server with 16-cores and 32GB of RAM.
|
||||
# image-x86-app-docker-ce is a Hetzner image.
|
||||
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Specifying-The-Runner-Image
|
||||
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
|
||||
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]
|
||||
arch: amd64
|
||||
build_type: full
|
||||
conan_qt: True
|
||||
# apt-dependencies: # add missing dependencies to docker image when convenient
|
||||
image: docker.io/overte/overte-full-build:0.1.2-ubuntu-20.04-amd64
|
||||
image: docker.io/overte/overte-full-build:0.1.5-ubuntu-20.04-amd64
|
||||
# Android builds are currently failing
|
||||
#- os: ubuntu-18.04
|
||||
# build_type: android
|
||||
|
@ -75,7 +73,9 @@ jobs:
|
|||
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]
|
||||
arch: aarch64
|
||||
build_type: full
|
||||
image: docker.io/overte/overte-full-build:0.1.2-ubuntu-22.04-aarch64
|
||||
conan_qt: False
|
||||
# apt-dependencies: # add missing dependencies to docker image when convenient
|
||||
image: docker.io/overte/overte-full-build:0.1.5-ubuntu-22.04-aarch64
|
||||
fail-fast: false
|
||||
runs-on: ${{matrix.runner}}
|
||||
container: ${{matrix.image}}
|
||||
|
@ -89,9 +89,11 @@ jobs:
|
|||
echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV
|
||||
echo "JOB_NAME=${{matrix.os}}, ${{matrix.build_type}}" >> $GITHUB_ENV
|
||||
echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV
|
||||
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
|
||||
|
||||
# Linux build variables
|
||||
if [[ "${{ matrix.os }}" = "Ubuntu"* ]]; then
|
||||
echo "CONAN_CPPSTD=gnu17" >> $GITHUB_ENV
|
||||
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
||||
echo "INSTALLER_EXT=*" >> $GITHUB_ENV
|
||||
echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV
|
||||
|
@ -103,7 +105,6 @@ jobs:
|
|||
fi
|
||||
|
||||
if [[ "${{ matrix.arch }}" = "aarch64" ]]; then
|
||||
echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||
echo "CMAKE_EXTRA=-DOVERTE_CPU_ARCHITECTURE= -DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV
|
||||
else
|
||||
|
@ -134,6 +135,7 @@ jobs:
|
|||
fi
|
||||
# Windows build variables
|
||||
if [ "${{ matrix.os }}" = "Windows 2019" ]; then
|
||||
echo "CONAN_CPPSTD=17" >> $GITHUB_ENV
|
||||
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
|
||||
echo "INSTALLER_EXT=exe" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||
|
@ -204,13 +206,6 @@ jobs:
|
|||
sudo cp -rp MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ || exit 0
|
||||
echo " done"
|
||||
fi
|
||||
if [[ "${{ matrix.os }}" =~ "Debian 11" ]]; then
|
||||
echo "Installing CMake from Debian Backports"
|
||||
echo deb http://deb.debian.org/debian bullseye-backports main > /etc/apt/sources.list.d/bullseye-backports.list
|
||||
sudo apt update
|
||||
sudo apt-get -t bullseye-backports install -y cmake
|
||||
fi
|
||||
|
||||
|
||||
- name: Override NSIS
|
||||
shell: pwsh
|
||||
|
@ -220,60 +215,58 @@ jobs:
|
|||
- name: Install Python modules
|
||||
if: startsWith(matrix.os, 'Windows') || startsWith(matrix.os, 'macOS')
|
||||
shell: bash
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub conan
|
||||
|
||||
- name: Create Build Environment
|
||||
shell: bash
|
||||
run: cmake -E make_directory ./build
|
||||
|
||||
- name: Configure CMake
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA
|
||||
|
||||
- name: Compress cmake logs
|
||||
if: always()
|
||||
- name: Prepare Conan Build Environment
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "${{ matrix.os }}" == "macOS-10.15" ]; then
|
||||
TAR=gtar
|
||||
else
|
||||
TAR=tar
|
||||
fi
|
||||
find "$HOME/overte-files/vcpkg" -name '*log' -type f -print0 | $TAR --null --force-local -T - -c --xz -v -f "./cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz"
|
||||
conan profile detect
|
||||
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
|
||||
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
|
||||
|
||||
- name: Archive cmake logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz
|
||||
path: ./cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz
|
||||
if-no-files-found: error
|
||||
- name: Install Conan dependencies
|
||||
shell: bash
|
||||
run: conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
|
||||
|
||||
- name: Upload Conan dependencies
|
||||
continue-on-error: true
|
||||
shell: bash
|
||||
env:
|
||||
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
|
||||
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
|
||||
run: |
|
||||
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
|
||||
conan upload --list=pkglist.json -r=overte -c || echo "Credentials cannot be accessed on remote Pull Request builds. Continuing…"
|
||||
|
||||
- name: Configure CMake
|
||||
shell: bash
|
||||
# This syntax requires CMake 3.23
|
||||
run: cmake --preset conan-${BUILD_TYPE,,} $CMAKE_EXTRA
|
||||
|
||||
- name: Build Application
|
||||
if: matrix.build_type == 'full' || matrix.build_type == 'client'
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Domain Server
|
||||
if: matrix.build_type == 'full'
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Assignment Client
|
||||
if: matrix.build_type == 'full'
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Console
|
||||
if: matrix.build_type == 'full' && matrix.arch != 'aarch64' || startsWith(matrix.os, 'windows')
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: |
|
||||
cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
cmake --build . --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build Installer
|
||||
if: matrix.build_type != 'android' && matrix.arch != 'aarch64'
|
||||
|
|
44
.github/workflows/release_build.yml
vendored
44
.github/workflows/release_build.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
# Copyright 2013-2019 High Fidelity, Inc.
|
||||
# Copyright 2020-2022 Vircadia contributors
|
||||
# Copyright 2021-2024 Overte e.V.
|
||||
# Copyright 2021-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
name: Windows Release Build
|
||||
|
@ -15,7 +15,6 @@ on:
|
|||
env:
|
||||
APP_NAME: interface
|
||||
BUILD_TYPE: Release
|
||||
CI_BUILD: Github
|
||||
GIT_COMMIT: ${{ github.sha }}
|
||||
PRODUCTION_BUILD: true
|
||||
RELEASE_TYPE: PRODUCTION
|
||||
|
@ -26,19 +25,19 @@ env:
|
|||
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
|
||||
CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}
|
||||
CMAKE_BACKTRACE_TOKEN: ${{ github.ref_name }}_Windows_${{ github.sha }}
|
||||
# Disable VCPKG caching to save time.
|
||||
VCPKG_FEATURE_FLAGS: -binarycaching
|
||||
|
||||
# WIN-specific variables
|
||||
PreferredToolArchitecture: X64
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: "${{matrix.os}}"
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-2019
|
||||
build_type: full
|
||||
conan_qt: True
|
||||
fail-fast: false
|
||||
runs-on: ${{matrix.os}}
|
||||
steps:
|
||||
|
@ -58,6 +57,8 @@ jobs:
|
|||
|
||||
echo "JOB_NAME=${{matrix.os}}, ${{matrix.build_type}}" >> $GITHUB_ENV
|
||||
echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV
|
||||
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
|
||||
echo "CONAN_CPPSTD=17" >> $GITHUB_ENV
|
||||
|
||||
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
|
||||
echo "ZIP_COMMAND=7z" >> $GITHUB_ENV
|
||||
|
@ -91,36 +92,53 @@ jobs:
|
|||
- name: Install Python modules
|
||||
if: startsWith(matrix.os, 'windows') || startsWith(matrix.os, 'macOS')
|
||||
shell: bash
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub
|
||||
run: $PYTHON_EXEC -m pip install boto3 PyGithub conan
|
||||
|
||||
- name: Create build environment
|
||||
- name: Prepare Conan Build Environment
|
||||
shell: bash
|
||||
run: cmake -E make_directory "${{runner.workspace}}/build"
|
||||
run: |
|
||||
conan profile detect
|
||||
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
|
||||
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
|
||||
|
||||
- name: Install Conan dependencies
|
||||
shell: bash
|
||||
run: conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
|
||||
|
||||
- name: Upload Conan dependencies
|
||||
continue-on-error: true
|
||||
shell: bash
|
||||
env:
|
||||
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
|
||||
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
|
||||
run: |
|
||||
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
|
||||
conan upload --list=pkglist.json -r=overte -c
|
||||
|
||||
- name: Configure CMake
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release -DJSDOC_ENABLED:BOOL=TRUE -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA
|
||||
# This syntax requires CMake 3.23
|
||||
run: cmake --preset conan-${BUILD_TYPE,,} -DJSDOC_ENABLED:BOOL=TRUE -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA
|
||||
|
||||
- name: Build application
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build domain server
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build assignment client
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build console
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
run: cmake --build . --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||
|
||||
- name: Build installer
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2023 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-debian-11 -f Dockerfile_build_debian-11 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-debian-11 -f Dockerfile_build_debian-11 .
|
||||
FROM debian:bullseye
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -14,6 +14,10 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git g++ libssl-dev libqt5websockets5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2023 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-debian-12 -f Dockerfile_build_debian-12 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-debian-12 -f Dockerfile_build_debian-12 .
|
||||
FROM debian:bookworm
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -14,6 +14,10 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install --break-system-packages conan
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install cmake curl ninja-build git g++ libssl-dev libqt5websockets5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
|
||||
|
@ -36,4 +40,4 @@ RUN echo "export LANG=en_US.UTF-8" >> ~/.bashrc
|
|||
RUN echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc
|
||||
|
||||
# Install tools needed for our Github Actions Workflow
|
||||
Run apt-get -y install python3-boto3 python3-github zip
|
||||
RUN apt-get -y install python3-boto3 python3-github zip
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2023 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-ubuntu-20.04 -f Dockerfile_build_ubuntu-20.04 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-ubuntu-20.04 -f Dockerfile_build_ubuntu-20.04 .
|
||||
FROM ubuntu:20.04
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -14,6 +14,27 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
||||
# Install CMake from Kitware
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install ca-certificates gpg wget
|
||||
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
|
||||
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
|
||||
RUN apt-get update
|
||||
RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring
|
||||
RUN apt-get -y install cmake
|
||||
|
||||
# Install GCC 13 from Toolchain test PPA
|
||||
RUN apt-get -y install software-properties-common
|
||||
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install gcc-13 g++-13
|
||||
# Set GCC 13 as default
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libharfbuzz-dev libdouble-conversion3 libxext-dev libsystemd-dev
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2023 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-ubuntu-22.04 -f Dockerfile_build_ubuntu-22.04 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-ubuntu-22.04 -f Dockerfile_build_ubuntu-22.04 .
|
||||
FROM ubuntu:22.04
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -14,6 +14,27 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
||||
# Install CMake from Kitware
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install ca-certificates gpg wget
|
||||
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
|
||||
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
|
||||
RUN apt-get update
|
||||
RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring
|
||||
RUN apt-get -y install cmake
|
||||
|
||||
# Install GCC 13 from Toolchain test PPA
|
||||
RUN apt-get -y install software-properties-common
|
||||
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install gcc-13 g++-13
|
||||
# Set GCC 13 as default
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev libqt5websockets5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
# Install Overte tools build dependencies
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2024 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-ubuntu-24.04 -f Dockerfile_build_ubuntu-24.04 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-ubuntu-24.04 -f Dockerfile_build_ubuntu-24.04 .
|
||||
FROM ubuntu:24.04
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -14,6 +14,10 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install --break-system-packages conan
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev libqt5websockets5-dev qtdeclarative5-dev qtmultimedia5-dev python3-setuptools python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
# Install Overte tools build dependencies
|
||||
|
@ -35,4 +39,4 @@ RUN echo "export LANG=en_US.UTF-8" >> ~/.bashrc
|
|||
RUN echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc
|
||||
|
||||
# Install tools needed for our Github Actions Workflow
|
||||
Run apt-get -y install python3-boto3 python3-github zip
|
||||
RUN apt-get -y install python3-boto3 python3-github zip
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2024 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte
|
||||
# Example build: docker build -t overte/overte-full-build:0.1.2-ubuntu-20.04 -f Dockerfile_build_ubuntu-20.04 .
|
||||
# Example build: docker build -t overte/overte-full-build:0.1.5-ubuntu-20.04 -f Dockerfile_build_ubuntu-20.04 .
|
||||
FROM ubuntu:20.04
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for full Overte builds"
|
||||
|
@ -14,6 +14,27 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
||||
# Install CMake from Kitware
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install ca-certificates gpg wget
|
||||
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
|
||||
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
|
||||
RUN apt-get update
|
||||
RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring
|
||||
RUN apt-get -y install cmake
|
||||
|
||||
# Install GCC 13 from Toolchain test PPA
|
||||
RUN apt-get -y install software-properties-common
|
||||
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install gcc-13 g++-13
|
||||
# Set GCC 13 as default
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
# Install server-console build dependencies
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte
|
||||
# Example build: docker build -t overte/overte-full-build:0.1.2-ubuntu-22.04 -f Dockerfile_build_ubuntu-22.04 .
|
||||
# Example build: docker build -t overte/overte-full-build:0.1.5-ubuntu-22.04 -f Dockerfile_build_ubuntu-22.04 .
|
||||
FROM ubuntu:22.04
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for full Overte builds"
|
||||
|
@ -14,6 +14,27 @@ RUN echo UTC >/etc/timezone
|
|||
# Installing via dependency causes interactive hang:
|
||||
RUN apt-get update && apt-get -y install tzdata
|
||||
|
||||
# Install Conan
|
||||
RUN apt-get -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
||||
# Install CMake from Kitware
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install ca-certificates gpg wget
|
||||
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
|
||||
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
|
||||
RUN apt-get update
|
||||
RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring
|
||||
RUN apt-get -y install cmake
|
||||
|
||||
# Install GCC 13 from Toolchain test PPA
|
||||
RUN apt-get -y install software-properties-common
|
||||
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install gcc-13 g++-13
|
||||
# Set GCC 13 as default
|
||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
|
||||
|
||||
# Install Overte domain-server and assignment-client build dependencies
|
||||
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev libqt5websockets5-dev qtscript5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev
|
||||
# Install Overte tools build dependencies
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2024 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.4-fedora-40 -f Dockerfile_build_fedora-40 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-fedora-40 -f Dockerfile_build_fedora-40 .
|
||||
FROM fedora:40
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -17,4 +17,7 @@ RUN dnf -y install zip unzip
|
|||
RUN dnf -y install chrpath rpmdevtools
|
||||
|
||||
# Install tools needed for our Github Actions Workflow
|
||||
Run dnf -y install python3-boto3 python3-pygithub
|
||||
RUN dnf -y install python3-boto3 python3-pygithub
|
||||
|
||||
# Install Conan
|
||||
RUN dnf -y install conan
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Copyright 2022-2023 Overte e.V.
|
||||
# Copyright 2022-2025 Overte e.V.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Docker file for building Overte Server
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.3-rockylinux-9 -f Dockerfile_build_rockylinux-9 .
|
||||
# Example build: docker build -t overte/overte-server-build:0.1.5-rockylinux-9 -f Dockerfile_build_rockylinux-9 .
|
||||
FROM rockylinux:9
|
||||
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
|
||||
LABEL description="Development image for Overte Domain server and assignment clients."
|
||||
|
@ -26,3 +26,7 @@ RUN dnf -y install chrpath rpmdevtools
|
|||
|
||||
# Install tools needed for our Github Actions Workflow
|
||||
Run dnf -y install python3-boto3 python3-github
|
||||
|
||||
# Install Conan
|
||||
RUN dnf -y install python3-pip
|
||||
RUN pip3 install conan
|
||||
|
|
Loading…
Reference in a new issue