diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index f40f302134..2b0b0e7717 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -197,7 +197,7 @@ jobs: 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-win' || github.event.label.name == 'rebuild' + if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-linux' || github.event.label.name == 'rebuild' env: DOCKER_IMAGE_NAME: "linux-hifi-gha:${{ github.event.number }}" steps: @@ -207,9 +207,6 @@ jobs: fetch-depth: 1 - name: Install python modules run: pip install awscli boto3 PyGithub - - name: Install apt packages - # libglu1-mesa-dev needed for oven - run: sudo apt install -y mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build - name: Configure CMake (Linux) @@ -224,7 +221,9 @@ jobs: - name: Build Ubuntu Docker shell: bash working-directory: ${{runner.workspace}}/build - run: docker build -t $DOCKER_IMAGE_NAME -f $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/Dockerfile ./ + run: | + cp ../tools/ci-scripts/linux-gha/hifi.conf . + docker build -t $DOCKER_IMAGE_NAME -f $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/Dockerfile ./ - name: Export Docker image shell: bash working-directory: ${{runner.workspace}}/build diff --git a/tools/ci-scripts/linux-gha/Dockerfile b/tools/ci-scripts/linux-gha/Dockerfile index 8a1ade1d58..5ef736845f 100644 --- a/tools/ci-scripts/linux-gha/Dockerfile +++ b/tools/ci-scripts/linux-gha/Dockerfile @@ -1,4 +1,4 @@ -FROM simonwalton1/hifi_base_ubuntu:1.0 +FROM simonwalton1/hifi_base_ubuntu:1.1 MAINTAINER DevOps Team (devops@highfidelity.io) EXPOSE 40100 40101 40102 @@ -17,7 +17,7 @@ RUN true COPY ./*.so /lib/ RUN ln -sf /lib/libquazip5.so /lib/libquazip5.so.1 #COPY ./resources/ /etc/hifi/server/resources/ -#COPY ./supervisor/hifi.conf /etc/supervisor/conf.d/hifi.conf +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 diff --git a/tools/ci-scripts/linux-gha/Dockerfile_linuxbase b/tools/ci-scripts/linux-gha/Dockerfile_linuxbase new file mode 100644 index 0000000000..be38fef91a --- /dev/null +++ b/tools/ci-scripts/linux-gha/Dockerfile_linuxbase @@ -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 diff --git a/tools/ci-scripts/linux-gha/hifi.conf b/tools/ci-scripts/linux-gha/hifi.conf new file mode 100644 index 0000000000..32066617d6 --- /dev/null +++ b/tools/ci-scripts/linux-gha/hifi.conf @@ -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 +