From 439340315ec9d7b59866d62aea496d8f99127f4b Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Thu, 5 Dec 2019 23:07:17 -0800 Subject: [PATCH] Changes for master build on Linux (WIP) --- .github/workflows/master_build.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index 314578d01d..6590edb2da 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -84,12 +84,14 @@ jobs: build: strategy: matrix: - os: [windows-latest, macOS-latest] + os: [windows-latest, macOS-latest, ubuntu-latest] build_type: [full, client] #os: [windows-latest, macOS-latest, ubuntu-latest] # exclude: # - os: ubuntu-latest # build_type: client + fail-fast: false + runs-on: ${{matrix.os}} if: github.event.action != 'labeled' || github.event.label.name == 'rebuild-mac' || github.event.label.name == 'rebuild' needs: generate_build_number @@ -131,7 +133,7 @@ jobs: echo "::set-env name=SYMBOL_REGEX::\(exe\|dll\|pdb\)" echo "::set-output name=symbols_archive::${{ steps.buildnumber.outputs.build_number }}-${{ matrix.build_type }}-win-symbols.zip" fi - # Configureation is broken into two steps because you can't set an env var and also reference it in the same step + # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure Build Environment 2 shell: bash run: | @@ -148,7 +150,7 @@ jobs: # Linux build variables if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then echo ::set-env name=PYTHON_EXEC::python3 - echo ::set-env name=CMAKE_EXTRA::"" + echo ::set-env name=CMAKE_EXTRA::"-DBUILD_TOOLS:BOOLEAN=FALSE" fi # Mac build variables if [ "${{ matrix.os }}" = "macOS-latest" ]; then @@ -179,10 +181,18 @@ jobs: $mypwd=ConvertTo-SecureString -String ${{ secrets.pfx_key }} -Force -AsPlainText Import-PfxCertificate -Password $mypwd -CertStoreLocation Cert:\CurrentUser\My -FilePath ${{runner.workspace}}\build\codesign.pfx Import-PfxCertificate -Password $mypwd -CertStoreLocation Cert:\LocalMachine\My -FilePath ${{runner.workspace}}\build\codesign.pfx + - name: Install apt packages (Linux) + if: matrix.os == 'ubuntu-latest' + run: sudo apt install -y mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 - name: Install Python modules if: matrix.os != 'ubuntu-latest' shell: bash - run: $PYTHON_EXEC -m pip install boto3 PyGithub + run: + if [ "`uname`" == Linux ]; then + pip install boto3 PyGithub + else + $PYTHON_EXEC -m pip install boto3 PyGithub + fi - name: Configure CMake working-directory: ${{runner.workspace}}/build shell: bash @@ -192,6 +202,7 @@ jobs: shell: bash run: cmake --build . --config $BUILD_TYPE --target $APP_NAME - name: Build Console + if: matrix.os != 'ubuntu-latest' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target packaged-server-console @@ -214,6 +225,13 @@ jobs: shell: powershell working-directory: C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64 run: .\signtool.exe sign /fd sha256 /f ${{runner.workspace}}\build\codesign.pfx /p ${{secrets.pfx_key}} /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 ${{runner.workspace}}\build\${env:INSTALLER} + - name: Build Ubuntu Docker (Linux) + if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'full' + shell: bash + working-directory: ${{runner.workspace}}/build + run: | + cp $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/hifi.conf . + docker build -t HighFidelity-Beta:$RELEASE_NUMBER -f $GITHUB_WORKSPACE/tools/ci-scripts/linux-gha/Dockerfile ./ - name: Upload Artifact if: matrix.os != 'ubuntu-latest' shell: bash