diff --git a/.github/workflows/CompileWindows.yml b/.github/workflows/CompileWindows.yml index 212e6150da..d495c7df58 100644 --- a/.github/workflows/CompileWindows.yml +++ b/.github/workflows/CompileWindows.yml @@ -262,8 +262,10 @@ jobs: # run: fsvr_step 0b3 - name: 0b4 Zip + if: fromJSON(inputs.fstuple).installer != 'false' run: fsvr_step 0b4 - name: 0b5 upload zip + if: fromJSON(inputs.fstuple).installer != 'false' uses: ./fsvr-action with: run: fsvr_step 0b5 diff --git a/.github/workflows/p373r-vrmod.yml b/.github/workflows/p373r-vrmod.yml index 710d258a0e..6ed9358d4d 100644 --- a/.github/workflows/p373r-vrmod.yml +++ b/.github/workflows/p373r-vrmod.yml @@ -144,6 +144,7 @@ jobs: J864TvBZKHRtFCtQp8GgVWHdavv/PmM8GB0Z4XVlonM+N302tGkpyJ7zGpvw9ao53LbPuQ0jxE0W erq7uHZHTRWWlJjIjORX4iDtv3j2+tOCfxfQnEfCwwm557/Ei4mZ/wg8P/gXxoQ5DtoQAAA= EOF + file icon.ico set -a . ${snapshot_dir}/metadata/env.d/build_vars.env CompanyName=${GITHUB_REPOSITORY} diff --git a/blueprints/fs-beta-7.1.12-e/postbuild.bash b/blueprints/fs-beta-7.1.12-e/postbuild.bash index f599f5fbfe..fc6eb00586 100644 --- a/blueprints/fs-beta-7.1.12-e/postbuild.bash +++ b/blueprints/fs-beta-7.1.12-e/postbuild.bash @@ -9,6 +9,7 @@ mkdir -pv $snapshot_dir cpsync() { cp -lunrp "$@" ; } +########################################################################### echo "SNAPSHOT EMERGED OBJECT FILES..." >&2 mkdir -pv $snapshot_dir/objs build_dir_rel=$(realpath --relative-to="$(pwd -W)" $build_dir || echo $build_dir) @@ -36,16 +37,17 @@ build_dir_rel=$(realpath --relative-to="$(pwd -W)" $build_dir || echo $build_dir # ) ) +########################################################################### echo "SNAPSHOT METADATA..." >&2 mkdir -pv $snapshot_dir/metadata +mkdir -pv $snapshot_dir/metadata/tmp cp -ua env.d $snapshot_dir/metadata test ! -s fstuple.json || cp -av fstuple.json $snapshot_dir/metadata/ cp -ua $build_dir/packages-info.json $snapshot_dir/metadata/ cp -ua $nunja_dir/viewer_version.txt $snapshot_dir/metadata/ -cp -ua $nunja_dir/runtime.installer.nsi $snapshot_dir/metadata/ +cp -ua $build_dir/runtime.installer.nsi $snapshot_dir/metadata/ -mkdir -pv $snapshot_dir/metadata/tmp -cp -ua $nunja_dir/runtime.installer.original.nsi $snapshot_dir/metadata/tmp/ +cp -ua $build_dir/runtime.installer.original.nsi $snapshot_dir/metadata/tmp/ env | grep INPUT > $snapshot_dir/metadata/tmp/INPUT.env env | grep -i version= > $snapshot_dir/metadata/tmp/version.env find $build_dir/ -type f > $snapshot_dir/metadata/tmp/build_dir.files @@ -53,6 +55,7 @@ find $build_dir/ -type f > $snapshot_dir/metadata/tmp/build_dir.files ( cat /d/a/_temp/_runner_file_commands/step_summary_*-scrubbed > $snapshot_dir/metadata/summary.md ) || true ( ninja -C $build_dir -t commands ${viewer_bin}-bin | grep -Eo '(")?[-]D[^ =]+(=[^ ]*)?\1?' | grep -vE '_EXPORTS$' | awk '!seen[$0]++' > $snapshot_dir/lldefines.rsp ) || true +########################################################################### echo "SNAPSHOT PACKAGES..." >&2 mkdir -pv $snapshot_dir/3p/lib for x in `ls -1 $packages_dir/lib/release | grep -v webrtc` ; do @@ -64,11 +67,8 @@ for x in `ls -1 $packages_dir/include| grep -v webrtc` ; do done cpsync $build_dir/newview/licenses.txt $snapshot_dir/3p/ cpsync $build_dir/newview/packages-info.txt $snapshot_dir/3p/ -# cpsync $packages_dir/lib/release $snapshot_dir/3p/lib/ -# cpsync $packages_dir/include $snapshot_dir/3p/include/ -# rm -rf $snapshot_dir/3p/include/webrtc $snapshot_dir/3p/lib/*webrtc* -# ln $source_dir $snapshot_dir/source +########################################################################### echo "SNAPSHOT CORRESPONDING SOURCE..." >&2 mkdir -pv $snapshot_dir/source cp -ua $build_dir/newview/fsversionvalues.h $snapshot_dir/source/ || true @@ -76,9 +76,10 @@ cp -ua $build_dir/newview/viewerRes.rc $snapshot_dir/source/ || true ( cd $source_dir - find ~+ -name \*.cpp -o -name \*.inl -o -name \*.h > $snapshot_dir/metadata/all.includes.txt + find ~+ -name \*.cpp -o -name \*.inl -o -name \*.h -o -name \*.hpp \ + | grep -vE '/tests?/' > $snapshot_dir/metadata/tmp/primary.source.txt time ( - tar -cf - -T $snapshot_dir/metadata/all.includes.txt --show-transformed-names \ + tar -cf - -T $snapshot_dir/metadata/tmp/primary.source.txt --show-transformed-names \ --transform "s|^${PWD#/}/||" \ 2>/dev/null \ | tar -xf - -C$snapshot_dir/source #xz -T0 - -c > $snapshot_dir/includes.tar.xz @@ -97,19 +98,40 @@ done cd .. ) -echo "[7z] GENERATING ${version_full}-snapshot.zip..." >&2 -cd $build_dir -time 7z -mx5 -bd -bt -tzip a ${version_full}-snapshot.zip $base - -ht-ln $build_dir/newview $base/runtime -sed "s@^$viewer_channel-$version_full/@$base/runtime/@g" $build_dir/installer.txt > $base/runtime.txt +########################################################################### +# stage installer/runtime +cp -av $build_dir/APPLICATION_EXE.env $snapshot_dir/metadata/tmp/ +. $build_dir/APPLICATION_EXE.env +sed "s@^$viewer_channel-$version_full/@$base/runtime/@g" $build_dir/installer.txt \ + | grep -vE "${application_bin}|${APPLICATION_EXE}" > $base/runtime.txt head -2 $base/runtime.txt +cp -av $base/runtime.txt $snapshot_dir/metadata/tmp/ +sed "s@$base/runtime/@\${snapshot_dir}/runtime/@g" $base/runtime.txt > $snapshot_dir/metadata/runtime.rsp.in +sed "s@$base/runtime/@runtime/@g" $base/runtime.txt > $snapshot_dir/metadata/runtime.rsp +head -2 $snapshot_dir/metadata/runtime.rsp.in + +########################################################################### +echo "[7z] GENERATING ${version_full}-(devtime|runtime|snapshot).zip..." >&2 + +cd $build_dir + +# package ${base:-fs-beta-7.1.12-e}/ => "devtime" capture +time 7z -mx5 -bd -bt -tzip a ${version_full}-devtime.zip $base + +# stage fs-beta-7.1.12-e/runtime/ +ht-ln $build_dir/newview $base/runtime +time 7z -mx5 -bd -bt -tzip a ${version_full}-runtime.zip @$base/runtime.txt + +# make a copy of devtime and append @precision manifested runtime/ folder (to emerge a combined snapshot) +cp -av ${version_full}-devtime.zip ${version_full}-snapshot.zip time 7z -mx5 -bd -bt -tzip a ${version_full}-snapshot.zip @$base/runtime.txt -echo "UPLOADING ARTIFACT...${GITHUB_ACTIONS}" >&2 -gha-have-runtime || { echo "gha runtime unavailable" && exit 0 ; } - +echo "UPLOADING ARTIFACTS...${GITHUB_ACTIONS}" >&2 +gha-have-runtime || { echo "gha runtime unavailable" && exit 0 ; } grep gha-patch-upload-artifact /d/a/_actions/actions/upload-artifact/v4/dist/upload/index.js || gha-patch-upload-artifact + +zipUploadStream=${version_full}-devtime.zip gha-upload-artifact-fast ${version_full}-devtime ${version_full}-devtime.zip +zipUploadStream=${version_full}-runtime.zip gha-upload-artifact-fast ${version_full}-runtime ${version_full}-runtime.zip zipUploadStream=${version_full}-snapshot.zip gha-upload-artifact-fast ${version_full}-snapshot ${version_full}-snapshot.zip # UPLOAD SNAPSHOT diff --git a/util/build.sh b/util/build.sh index da13850259..b9b85b0c75 100755 --- a/util/build.sh +++ b/util/build.sh @@ -276,6 +276,11 @@ function 0a1_ninja_postbuild() {( $_dbgopts; ) || exit $? ( APPLICATION_EXE=$(_get_APPLICATION_EXE) + ( + echo "APPLICATION_EXE=${APPLICATION_EXE}" + echo "nsi=$nsi" + echo "application_bin=${viewer_bin}-bin.exe" + ) | tee $build_dir/APPLICATION_EXE.env _assert APPLICATION_EXE test -f $build_dir/newview/$APPLICATION_EXE cat $fsvr_dir/util/load_with_settings_and_cache_here.bat \ | APPLICATION_EXE=$APPLICATION_EXE envsubst \ @@ -292,6 +297,8 @@ function 0a1_ninja_postbuild() {( $_dbgopts; $nsi grep "openvr_api.dll" -C2 $nsi ) + cp -av "$nsi" $build_dir/runtime.installer.original.nsi + cat "$nsi" | sed -e "s@File [^ ]\+[/\\]newview[/\\]@File @g;s@^File @runtime/@g;s@$APPLICATION_EXE@APPLICATION_EXE@g;" > $build_dir/runtime.installer.nsi grep -E ^File "$nsi" | sed -e "s@File [^ ]\+[/\\]newview[/\\]@File @g;s@^File @$viewer_channel-$version_full/@g" | sort -u > $build_dir/installer.txt echo "$viewer_channel-$version_full/load_with_settings_and_cache_here.bat" >> $build_dir/installer.txt tail -2 $build_dir/installer.txt diff --git a/util/load_with_settings_and_cache_here.bat b/util/load_with_settings_and_cache_here.bat index 2cfc27a75e..5196004968 100644 --- a/util/load_with_settings_and_cache_here.bat +++ b/util/load_with_settings_and_cache_here.bat @@ -3,7 +3,7 @@ REM | launch viewer with in-folder APPDATA (user settings) LOCALAPPDATA (cache, REM | ... for FS this will emerge ./Firestorm_x64 and ./FirestormOS_x64 respectively REM | --humbletim 2024.03.08 REM | -REM | %* forwards any arguments alonge; eg: +REM | %* forwards any arguments along; eg: REM | launch_with_settings_and_cache_here.bat --set UIScaleFactor 1 REM | %~dp0 == path of this batch file