mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-09 21:52:11 +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:
|
||||
os: [windows-latest, macOS-latest]
|
||||
build_type: [full]
|
||||
fail-fast: false
|
||||
runs-on: ${{matrix.os}}
|
||||
if: github.event.action != 'labeled' || github.event.label.name == 'rebuild'
|
||||
steps:
|
||||
|
@ -94,3 +95,27 @@ jobs:
|
|||
working-directory: ${{runner.workspace}}/build
|
||||
shell: bash
|
||||
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)
|
||||
|
||||
add_dependencies(${TARGET_NAME} oven)
|
||||
if (BUILD_TOOLS)
|
||||
add_dependencies(${TARGET_NAME} oven)
|
||||
|
||||
if (WIN32)
|
||||
add_custom_command(
|
||||
TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
$<TARGET_FILE_DIR:oven>
|
||||
$<TARGET_FILE_DIR:${TARGET_NAME}>)
|
||||
else()
|
||||
add_custom_command(
|
||||
TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
$<TARGET_FILE:oven>
|
||||
$<TARGET_FILE_DIR:${TARGET_NAME}>/oven)
|
||||
endif()
|
||||
if (WIN32)
|
||||
add_custom_command(
|
||||
TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
$<TARGET_FILE_DIR:oven>
|
||||
$<TARGET_FILE_DIR:${TARGET_NAME}>)
|
||||
else()
|
||||
add_custom_command(
|
||||
TARGET ${TARGET_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
$<TARGET_FILE:oven>
|
||||
$<TARGET_FILE_DIR:${TARGET_NAME}>/oven)
|
||||
endif()
|
||||
endif (BUILD_TOOLS)
|
||||
|
||||
if (WIN32)
|
||||
package_libraries_for_deployment()
|
||||
|
|
|
@ -21,6 +21,23 @@ macro(TARGET_POLYVOX)
|
|||
list(APPEND POLYVOX_LIBRARY_DEBUG ${POLYVOX_UTIL_LIBRARY_DEBUG})
|
||||
select_library_configurations(POLYVOX)
|
||||
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()
|
||||
target_link_libraries(${TARGET_NAME} ${POLYVOX_LIBRARIES})
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${POLYVOX_INCLUDE_DIRS})
|
||||
|
|
|
@ -10,4 +10,4 @@ macro(TARGET_QUAZIP)
|
|||
find_library(QUAZIP_LIBRARY_DEBUG quazip5 PATHS ${VCPKG_INSTALL_ROOT}/debug/lib NO_DEFAULT_PATH)
|
||||
select_library_configurations(QUAZIP)
|
||||
target_link_libraries(${TARGET_NAME} ${QUAZIP_LIBRARIES})
|
||||
endmacro()
|
||||
endmacro()
|
||||
|
|
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