diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2024-05-02 15:39:10 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2024-05-02 15:39:10 -0400 |
commit | 44eaaa507cf96c1e456fe48fd6969c6ace66b919 (patch) | |
tree | f39536623c5f9fff80ef94bd15d3a6f21ef10403 /.github | |
parent | 2c1647e84cfb3fd712f665cdc77a772deb80aff9 (diff) | |
parent | f69ac40e24e78fe265c81ff3785c185229764151 (diff) |
Merge remote-tracking branch 'release/maint-b' into nat/maint-b-tests
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build.yaml | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 44f32c1c5d..42dc364ed3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -11,11 +11,18 @@ jobs: build: strategy: matrix: - runner: [windows-large, macos-12-xl] - configuration: [Release] + runner: [windows-large, macos-12-xl, linux-large] + configuration: [Release, ReleaseOS] include: - runner: macos-12-xl developer_dir: "/Applications/Xcode_14.0.1.app/Contents/Developer" + exclude: + - runner: windows-large + configuration: ReleaseOS + - runner: macos-12-xl + configuration: ReleaseOS + - runner: linux-large + configuration: Release runs-on: ${{ matrix.runner }} outputs: viewer_channel: ${{ steps.build.outputs.viewer_channel }} @@ -91,6 +98,17 @@ jobs: ${{ runner.os }}-64-${{ matrix.configuration }}- ${{ runner.os }}-64- + - name: Install Linux dependencies + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y \ + libpulse-dev libunwind-dev \ + libgl1-mesa-dev libglu1-mesa-dev libxinerama-dev \ + libxcursor-dev libxfixes-dev libgstreamer1.0-dev \ + libgstreamer-plugins-base1.0-dev ninja-build libxft-dev \ + llvm mold + - name: Install windows dependencies if: runner.os == 'Windows' run: choco install nsis-unicode @@ -198,6 +216,13 @@ jobs: fi export PYTHON_COMMAND_NATIVE="$(native_path "$PYTHON_COMMAND")" + # Compile with clang, link with mold on linux. + if [[ "$RUNNER_OS" == "Linux" ]]; then + export CC=clang + export CXX=clang++ + export CMAKE_OPTIONS='-DLINK_WITH_MOLD=ON' + fi + ./build.sh # Each artifact is downloaded as a distinct .zip file. Multiple jobs @@ -219,13 +244,14 @@ jobs: echo "artifact=$RUNNER_OS$cfg_suffix" >> $GITHUB_OUTPUT - name: Upload executable - if: matrix.configuration != 'ReleaseOS' && steps.build.outputs.viewer_app + if: (matrix.configuration != 'ReleaseOS' && steps.build.outputs.viewer_app) || runner.os == 'Linux' uses: actions/upload-artifact@v4 with: name: "${{ steps.build.outputs.artifact }}-app" path: | ${{ steps.build.outputs.viewer_app }} + # The other upload of nontrivial size is the symbol file. Use a distinct # artifact for that too. - name: Upload symbol file @@ -363,7 +389,11 @@ jobs: - uses: actions/download-artifact@v4 with: pattern: "*-metadata" - + + - uses: actions/download-artifact@v4 + with: + pattern: "LinuxOS-app" + - name: Rename metadata run: | cp Windows-metadata/autobuild-package.xml Windows-autobuild-package.xml @@ -392,7 +422,7 @@ jobs: append_body: true fail_on_unmatched_files: true files: | - macOS-installer/*.dmg + macOS-installer/*.dmg Windows-installer/*.exe *-autobuild-package.xml *-viewer_version.txt |