mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 05:58:27 +02:00
Merge pull request #16565 from SimonWalton-HiFi/linux-actions-builds-pr-builds
DEV-2572: Linux GHA PR builds
This commit is contained in:
commit
270339264e
7 changed files with 175 additions and 15 deletions
25
.github/workflows/pr_build.yml
vendored
25
.github/workflows/pr_build.yml
vendored
|
@ -30,6 +30,7 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
os: [windows-latest, macOS-latest]
|
os: [windows-latest, macOS-latest]
|
||||||
build_type: [full]
|
build_type: [full]
|
||||||
|
fail-fast: false
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild'
|
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild'
|
||||||
steps:
|
steps:
|
||||||
|
@ -94,3 +95,27 @@ jobs:
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cmake --build . --config $BUILD_TYPE --target package
|
run: cmake --build . --config $BUILD_TYPE --target package
|
||||||
|
|
||||||
|
build_full_linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 1
|
||||||
|
- name: Install apt packages
|
||||||
|
run: sudo apt install -y mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0
|
||||||
|
- name: Install python modules
|
||||||
|
shell: bash
|
||||||
|
run: pip install boto3 PyGithub
|
||||||
|
- name: Create Build Environment
|
||||||
|
run: cmake -E make_directory ${{runner.workspace}}/build
|
||||||
|
- name: Configure CMake
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
shell: bash
|
||||||
|
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TOOLS:BOOLEAN=FALSE
|
||||||
|
- name:
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
run: cmake --build . -- -j3
|
||||||
|
|
|
@ -18,21 +18,23 @@ link_hifi_libraries(
|
||||||
)
|
)
|
||||||
include_hifi_library_headers(procedural)
|
include_hifi_library_headers(procedural)
|
||||||
|
|
||||||
add_dependencies(${TARGET_NAME} oven)
|
if (BUILD_TOOLS)
|
||||||
|
add_dependencies(${TARGET_NAME} oven)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${TARGET_NAME} POST_BUILD
|
TARGET ${TARGET_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
$<TARGET_FILE_DIR:oven>
|
$<TARGET_FILE_DIR:oven>
|
||||||
$<TARGET_FILE_DIR:${TARGET_NAME}>)
|
$<TARGET_FILE_DIR:${TARGET_NAME}>)
|
||||||
else()
|
else()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${TARGET_NAME} POST_BUILD
|
TARGET ${TARGET_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||||
$<TARGET_FILE:oven>
|
$<TARGET_FILE:oven>
|
||||||
$<TARGET_FILE_DIR:${TARGET_NAME}>/oven)
|
$<TARGET_FILE_DIR:${TARGET_NAME}>/oven)
|
||||||
endif()
|
endif()
|
||||||
|
endif (BUILD_TOOLS)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
package_libraries_for_deployment()
|
package_libraries_for_deployment()
|
||||||
|
|
|
@ -21,6 +21,23 @@ macro(TARGET_POLYVOX)
|
||||||
list(APPEND POLYVOX_LIBRARY_DEBUG ${POLYVOX_UTIL_LIBRARY_DEBUG})
|
list(APPEND POLYVOX_LIBRARY_DEBUG ${POLYVOX_UTIL_LIBRARY_DEBUG})
|
||||||
select_library_configurations(POLYVOX)
|
select_library_configurations(POLYVOX)
|
||||||
list(APPEND POLYVOX_INCLUDE_DIRS ${VCPKG_INSTALL_ROOT}/include)
|
list(APPEND POLYVOX_INCLUDE_DIRS ${VCPKG_INSTALL_ROOT}/include)
|
||||||
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
set(_LIB_GLOBS)
|
||||||
|
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
||||||
|
set(_PV_LIBRARIES ${POLYVOX_LIBRARY_DEBUG})
|
||||||
|
else()
|
||||||
|
set(_PV_LIBRARIES ${POLYVOX_LIBRARY_RELEASE})
|
||||||
|
endif()
|
||||||
|
foreach(_lib ${_PV_LIBRARIES})
|
||||||
|
list(APPEND _LIB_GLOBS ${_lib}*)
|
||||||
|
endforeach()
|
||||||
|
add_custom_command(
|
||||||
|
TARGET ${TARGET_NAME}
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND cp
|
||||||
|
ARGS -d ${_LIB_GLOBS} ${CMAKE_BINARY_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${TARGET_NAME} ${POLYVOX_LIBRARIES})
|
target_link_libraries(${TARGET_NAME} ${POLYVOX_LIBRARIES})
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC ${POLYVOX_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PUBLIC ${POLYVOX_INCLUDE_DIRS})
|
||||||
|
|
32
tools/ci-scripts/linux-gha/Dockerfile
Normal file
32
tools/ci-scripts/linux-gha/Dockerfile
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
FROM simonwalton1/hifi_base_ubuntu:1.1
|
||||||
|
MAINTAINER DevOps Team (devops@highfidelity.io)
|
||||||
|
|
||||||
|
EXPOSE 40100 40101 40102
|
||||||
|
EXPOSE 40100/udp 40101/udp 40102/udp
|
||||||
|
EXPOSE 48000/udp 48001/udp 48002/udp 48003/udp 48004/udp 48005/udp 48006/udp
|
||||||
|
|
||||||
|
RUN mkdir -p /etc/hifi/server/plugins /etc/hifi/server/resources /etc/hifi/server/imageformats/ && \
|
||||||
|
ln -s /usr/local/Qt5.12.3/5.12.3/gcc_64/plugins/imageformats/* /etc/hifi/server/imageformats/
|
||||||
|
COPY ./assignment-client /etc/hifi/server/
|
||||||
|
#COPY ./oven /etc/hifi/server/
|
||||||
|
COPY ./domain-server /etc/hifi/server/
|
||||||
|
COPY ./plugins/hifiCodec/libhifiCodec.so /etc/hifi/server/plugins/
|
||||||
|
RUN true
|
||||||
|
COPY ./plugins/pcmCodec/libpcmCodec.so /etc/hifi/server/plugins/
|
||||||
|
# Dummy statement
|
||||||
|
RUN true
|
||||||
|
COPY ./*.so /lib/
|
||||||
|
RUN ln -sf /lib/libquazip5.so /lib/libquazip5.so.1
|
||||||
|
COPY ./domain-server/resources/ /etc/hifi/server/resources/
|
||||||
|
RUN true
|
||||||
|
COPY ./hifi.conf /etc/supervisor/conf.d/hifi.conf
|
||||||
|
RUN for fn in /usr/local/Qt5.12.3/5.12.3/gcc_64/plugins/imageformats/*.so; do \
|
||||||
|
if [ ! -x $fn ]; then ln -s $fn /etc/hifi/server/imageformats; fi; done
|
||||||
|
RUN chmod +x /etc/hifi/server/domain-server
|
||||||
|
RUN chmod +x /etc/hifi/server/assignment-client
|
||||||
|
|
||||||
|
# Ensure `domain-server` and `assignment-client` execute.
|
||||||
|
RUN /etc/hifi/server/domain-server --version > /etc/hifi/server/version && \
|
||||||
|
/etc/hifi/server/assignment-client --version >> /etc/hifi/server/version
|
||||||
|
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/hifi.conf"]
|
24
tools/ci-scripts/linux-gha/Dockerfile_linuxbase
Normal file
24
tools/ci-scripts/linux-gha/Dockerfile_linuxbase
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Docker file for hifi_base_ubuntu:1.1
|
||||||
|
FROM ubuntu:18.04
|
||||||
|
MAINTAINER DevOps Team (devops@highfidelity.io)
|
||||||
|
|
||||||
|
EXPOSE 40100 40101 40102
|
||||||
|
EXPOSE 40100/udp 40101/udp 40102/udp
|
||||||
|
EXPOSE 48000/udp 48001/udp 48002/udp 48003/udp 48004/udp 48005/udp 48006/udp
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y software-properties-common apt-utils curl
|
||||||
|
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15FF1AAE && add-apt-repository "deb http://debian.highfidelity.com stable main"
|
||||||
|
RUN echo UTC >/etc/timezone
|
||||||
|
# Installing via dependency causes interactive hang:
|
||||||
|
RUN apt-get -y install tzdata
|
||||||
|
RUN curl http://archive.ubuntu.com/ubuntu/pool/main/b/bison/libbison-dev_3.0.4.dfsg-1build1_amd64.deb >/tmp/libbison-dev.deb
|
||||||
|
RUN dpkg -i /tmp/libbison-dev.deb && rm /tmp/libbison-dev.deb
|
||||||
|
RUN apt-get update && apt-get -y --allow-unauthenticated install libglib2.0-0 libgl1-mesa-dev gdb python-pip build-essential \
|
||||||
|
openssl libssl-dev libssl1.0.0 unzip flex bison gperf perl libsqlite3-dev \
|
||||||
|
libfontconfig1-dev libicu-dev libfreetype6 libssl-dev libpng-dev libjpeg-dev \
|
||||||
|
python libx11-dev libxext-dev libtbb2 hifiqt5.12.3 \
|
||||||
|
ntp unzip libwww-perl libdatetime-perl make pkg-config libnss3 libxi6 \
|
||||||
|
libxcursor1 libxcomposite1 libasound2 libxtst6 libxslt1.1 supervisor
|
||||||
|
# Additional packages for v1.1:
|
||||||
|
RUN apt-get -y --allow-unauthenticated install mesa-common-dev libegl1 libglvnd-dev \
|
||||||
|
libdouble-conversion1 libpulse0
|
60
tools/ci-scripts/linux-gha/hifi.conf
Normal file
60
tools/ci-scripts/linux-gha/hifi.conf
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
[supervisord]
|
||||||
|
user=root
|
||||||
|
nodaemon=true
|
||||||
|
|
||||||
|
[program:domain-server]
|
||||||
|
command=/etc/hifi/server/domain-server
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:audio-mixer]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 0 -a localhost -p 48000
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:avatar-mixer]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 1 -a localhost -p 48001
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:entities-server]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 6 -a localhost -p 48006
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:asset-server]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 3 -a localhost -p 48003
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:entity-script-server]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 5 -a localhost -p 48005
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:messages-mixer]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 4 -a localhost -p 48004
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
||||||
|
[program:scripted-agent]
|
||||||
|
command=/etc/hifi/server/assignment-client -t 2 -a localhost --max 100
|
||||||
|
autorestart=unexpected
|
||||||
|
directory=/etc/hifi/server
|
||||||
|
stderr_logfile=/var/log/hifi-err.log
|
||||||
|
stdout_logfile=/var/log/hifi-out.log
|
||||||
|
|
Loading…
Reference in a new issue