summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yaml78
1 files changed, 78 insertions, 0 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000000..b64f9b709f
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,78 @@
+name: Build
+
+on:
+ workflow_dispatch:
+ pull_request:
+ push:
+ branches: ["actions"]
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ runner: [windows-2022, macos-11]
+ configuration: [Release]
+ addrsize: [64]
+ include:
+ - runner: windows-2022
+ configuration: Release
+ addrsize: 32
+ runs-on: ${{ matrix.runner }}
+ env:
+ AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
+ AUTOBUILD_ADDRSIZE: ${{ matrix.addrsize }}
+ # authorizes fetching private constituent packages
+ AUTOBUILD_GITHUB_TOKEN: ${{ secrets.SHARED_AUTOBUILD_GITHUB_TOKEN }}
+ AUTOBUILD_INSTALLABLE_CACHE: ${{ github.workspace }}/.autobuild-installables
+ AUTOBUILD_VARIABLES_FILE: ${{ github.workspace }}/.build-variables/variables
+ AUTOBUILD_VSVER: "170"
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Checkout build variables
+ uses: actions/checkout@v3
+ with:
+ repository: secondlife/build-variables
+ ref: viewer
+ path: .build-variables
+
+ - name: Install autobuild
+ run: pip3 install autobuild
+
+ - name: Cache autobuild packages
+ uses: actions/cache@v3
+ id: cache-installables
+ with:
+ path: .autobuild-installables
+ key: ${{ runner.os }}-${{ matrix.addrsize }}-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }}
+
+ - name: Install windows dependencies
+ if: runner.os == 'Windows'
+ run: choco install nsis-unicode
+
+ - name: Build
+ id: build
+ shell: bash
+ env:
+ RUNNER_OS: ${{ runner.os }}
+ run: |
+ pip install llsd # Required by viewer tests
+ autobuild configure
+ autobuild build --no-configure
+
+ if [[ "$RUNNER_OS" == "Windows" ]]; then
+ installer_path=$(find ./build-*/newview/ | grep '_Setup\.exe')
+ installer_name="$(basename $installer_path)"
+ elif [[ "$RUNNER_OS" == "macOS" ]]; then
+ installer_path=$(find ./build-*/newview/ | grep '\.dmg')
+ installer_name="$(basename $installer_path)"
+ fi
+ echo "::set-output name=installer_path::$installer_path"
+ echo "::set-output name=installer_name::$installer_name"
+
+ - name: Upload installer
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.installer_name }}
+ path: ${{ steps.build.outputs.installer_path }}