SL-18839: Add basic Github build
parent
b09f61f6bf
commit
6926368ff8
|
|
@ -0,0 +1,93 @@
|
|||
name: Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches: [main, contribute]
|
||||
tags: ["*"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
runner: [windows-large]
|
||||
configuration: [ReleaseOS]
|
||||
addrsize: [64]
|
||||
include:
|
||||
- runner: windows-large
|
||||
configuration: ReleaseOS
|
||||
addrsize: 32
|
||||
runs-on: ${{ matrix.runner }}
|
||||
env:
|
||||
AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
|
||||
AUTOBUILD_ADDRSIZE: ${{ matrix.addrsize }}
|
||||
AUTOBUILD_INSTALLABLE_CACHE: ${{ github.workspace }}/.autobuild-installables
|
||||
AUTOBUILD_VARIABLES_FILE: ${{ github.workspace }}/.build-variables/variables
|
||||
AUTOBUILD_VSVER: "170" # vs2k22
|
||||
LOGFAIL: debug # Show details when tests fail
|
||||
GIT_REF: ${{ github.head_ref || github.ref }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
|
||||
- name: Checkout build variables
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: secondlife/build-variables
|
||||
ref: viewer
|
||||
path: .build-variables
|
||||
|
||||
- name: Install autobuild and python dependencies
|
||||
run: pip3 install autobuild llbase
|
||||
|
||||
- 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') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.addrsize }}-${{ matrix.configuration }}-
|
||||
${{ runner.os }}-${{ matrix.addrsize }}-
|
||||
|
||||
- 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: |
|
||||
# On windows we need to point the build to the correct python
|
||||
# as neither CMake's FindPython nor our custom Python.cmake module
|
||||
# will resolve the correct interpreter location.
|
||||
if [[ "$RUNNER_OS" == "Windows" ]]; then
|
||||
export PYTHON="$(cygpath -m "$(which python)")"
|
||||
echo "Python location: $PYTHON"
|
||||
fi
|
||||
|
||||
autobuild configure -- -DVIEWER_CHANNEL="Second Life Test ${GIT_REF##*/}"
|
||||
autobuild build --no-configure
|
||||
|
||||
# Find artifacts
|
||||
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 "installer_path=$installer_path" >> $GITHUB_OUTPUT
|
||||
echo "installer_name=$installer_name" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload installer
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ steps.build.outputs.installer_name }}
|
||||
path: ${{ steps.build.outputs.installer_path }}
|
||||
|
|
@ -3403,7 +3403,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<string>/t:Build</string>
|
||||
<string>/p:useenv=true</string>
|
||||
<string>/verbosity:minimal</string>
|
||||
<string>/toolsversion:4.0</string>
|
||||
<string>/p:VCBuildAdditionalOptions= /incremental</string>
|
||||
</array>
|
||||
</map>
|
||||
|
|
@ -3477,7 +3476,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<string>/t:Build</string>
|
||||
<string>/p:useenv=true</string>
|
||||
<string>/verbosity:minimal</string>
|
||||
<string>/toolsversion:4.0</string>
|
||||
<string>/p:VCBuildAdditionalOptions= /incremental</string>
|
||||
</array>
|
||||
</map>
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ if (WINDOWS)
|
|||
# CP changed to only append the flag for 32bit builds - on 64bit builds,
|
||||
# locally at least, the build output is spammed with 1000s of 'D9002'
|
||||
# warnings about this switch being ignored.
|
||||
if( ADDRESS_SIZE EQUAL 32 )
|
||||
if(ADDRESS_SIZE EQUAL 32 AND DEFINED ENV{"TEAMCITY_PROJECT_NAME"})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64")
|
||||
endif()
|
||||
# zlib has assembly-language object files incompatible with SAFESEH
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
set(PYTHONINTERP_FOUND)
|
||||
|
||||
if (WINDOWS)
|
||||
if (DEFINED ENV{PYTHON})
|
||||
# Allow python executable to be explicitly set
|
||||
set(python "$ENV{PYTHON}")
|
||||
set(PYTHONINTERP_FOUND ON)
|
||||
elseif (WINDOWS)
|
||||
# On Windows, explicitly avoid Cygwin Python.
|
||||
|
||||
# if the user has their own version of Python installed, prefer that
|
||||
|
|
@ -43,7 +47,7 @@ else()
|
|||
if (python)
|
||||
set(PYTHONINTERP_FOUND ON)
|
||||
endif (python)
|
||||
endif (WINDOWS)
|
||||
endif (DEFINED ENV{PYTHON})
|
||||
|
||||
if (NOT python)
|
||||
message(FATAL_ERROR "No Python interpreter found")
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Compiler flags
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
Unicode true
|
||||
SetOverwrite on # Overwrite files
|
||||
SetCompress auto # Compress if saves space
|
||||
SetCompressor /solid lzma # Compress whole installer as one block
|
||||
|
|
@ -523,6 +524,7 @@ FunctionEnd
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Make sure the user can uninstall
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
/* Unused
|
||||
Function un.CheckIfAdministrator
|
||||
DetailPrint $(CheckAdministratorUnInstDP)
|
||||
UserInfo::GetAccountType
|
||||
|
|
@ -534,6 +536,7 @@ lbl_is_admin:
|
|||
Return
|
||||
|
||||
FunctionEnd
|
||||
*/
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Function CheckWillUninstallV2
|
||||
|
|
|
|||
Loading…
Reference in New Issue