From 6b4b33cc129e9482342c9280ae79c9c5ce427ef1 Mon Sep 17 00:00:00 2001 From: Nicky Dasmijn Date: Mon, 8 Apr 2024 22:39:20 +0200 Subject: Linux GHA builds (#1147) * Linux GHA builds Add Ubuntu 22.04 runner and Linux dependencies Do not even try to touch ReleaseFS for Linux yet (this needs KDU, Havok, FMOD) * Lets play a game of 'guess the havok source url' * Move to linux-large runner. * ReleaseOS used OpenAL, not fmod studio (which otherwise is the default) * - Correction for Linux build dir - HAVOK / CrashReporting wrestling. HAVOK is always turned on, even for OS builds Turn this off for Linux-ReleaseOS Same with crashreporting, we need it off for now * Add missing brace * When doing a GHA build pack right into RUNNER_TEMP and then signal the created archive as our "viewer_app" * Upload Linux-ReleaseOS after build * - Need to use os.path.join and not hyst join - set_github_output_path can be called unconditionally * Remove Linux GHA build example. --- build.sh | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'build.sh') diff --git a/build.sh b/build.sh index f7b3632ee8..653a95271f 100755 --- a/build.sh +++ b/build.sh @@ -48,7 +48,7 @@ build_dir_Darwin() build_dir_Linux() { - echo build-linux-i686 + echo build-linux-x86_64 } build_dir_CYGWIN() @@ -156,6 +156,22 @@ pre_build() "-DSIGNING_IDENTITY:STRING=Developer ID Application: Linden Research, Inc.") fi + if [[ "$arch" == "Linux" ]] + then + # RELEASE_CRASH_REPORTING is tuned on unconditionaly, this is fine but not for Linux as of now (due to missing breakpad/crashpad support) + RELEASE_CRASH_REPORTING=OFF + + # Builds turn on HAVOK even when config is ReleaseOS. + # This needs AUTOBUILD_GITHUB_TOKEN to be set in the environment. But this is not set for PRs apparently. + # Still this seemlingy works on Windows and Mac, why not on the Linux runner? Mystery to be solved elsewhere. + + + if [[ "$variant" == "ReleaseOS" ]] + then + HAVOK=OFF + fi + fi + if [ "${RELEASE_CRASH_REPORTING:-}" != "OFF" ] then case "$arch" in @@ -200,14 +216,14 @@ package_llphysicsextensions_tpv() tpv_status=0 # nat 2016-12-21: without HAVOK, can't build PhysicsExtensions_TPV. if [ "$variant" = "Release" -a "${HAVOK:-}" != "OFF" ] - then + then tpvconfig="$build_dir/packages/llphysicsextensions/autobuild-tpv.xml" test -r "$tpvconfig" || fatal "No llphysicsextensions_tpv autobuild configuration found" # SL-19942: autobuild ignores -c switch if AUTOBUILD_CONFIGURATION set unset AUTOBUILD_CONFIGURATION "$autobuild" build --quiet --config-file "$(native_path "$tpvconfig")" -c Tpv \ || fatal "failed to build llphysicsextensions_tpv" - + # capture the package file name for use in upload later... PKGTMP=`mktemp -t pgktpv.XXXXXX` cleanup="$cleanup ; rm $PKGTMP* 2>/dev/null" @@ -240,7 +256,7 @@ build() || fatal "failed building $variant" echo true >"$build_dir"/build_ok end_section "autobuild $variant" - + begin_section "extensions $variant" # Run build extensions if [ -d ${build_dir}/packages/build-extensions ] @@ -313,7 +329,7 @@ begin_section "select viewer channel" # Look for a branch-specific viewer_channel setting # changeset_branch is set in the sling-buildscripts viewer_build_branch=$(echo -n "${changeset_branch:-$(repo_branch ${BUILDSCRIPTS_SRC:-$(pwd)})}" | tr -Cs 'A-Za-z0-9_' '_' | sed -E 's/^_+//; s/_+$//') -if [ -n "$viewer_build_branch" ] +if [ -n "$viewer_build_branch" ] then branch_viewer_channel_var="${viewer_build_branch}_viewer_channel" if [ -n "${!branch_viewer_channel_var}" ] @@ -435,7 +451,7 @@ do record_event "configure for $variant failed: build skipped" fi - if ! $succeeded + if ! $succeeded then record_event "remaining variants skipped due to $variant failure" break @@ -500,7 +516,7 @@ then fi done end_section "Upload Debian Repository" - + else record_event "debian build not enabled" fi -- cgit v1.2.3