From 75b99e71ecbce70218e433efc4d4dcee02b7e919 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Tue, 11 Aug 2020 15:49:34 -0700 Subject: [PATCH 1/9] playing with gha --- .github/workflows/pr_build.yml | 51 ++++++++++++++++++++++++++++++---- android/build_android.sh | 10 +++---- android/containerized_build.sh | 8 +++--- android/docker/Dockerfile | 28 ++++++++----------- prebuild.py | 2 +- 5 files changed, 66 insertions(+), 33 deletions(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index f28cf1e66b..7bd061e7d2 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -27,14 +27,20 @@ env: jobs: build: + name: "build (${{matrix.os}}, ${{matrix.build_type}})" strategy: matrix: - os: [windows-latest, macOS-latest, ubuntu-18.04] - build_type: [full] include: + - os: windows-latest + build_type: full + - os: macOS-latest + build_type: full - os: ubuntu-18.04 build_type: full apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 + - os: ubuntu-18.04 + build_type: android + apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 fail-fast: false runs-on: ${{matrix.os}} if: github.event.action != 'labeled' || github.event.label.name == 'rebuild' @@ -65,14 +71,25 @@ jobs: echo ::set-env name=INSTALLER_EXT::exe echo ::set-env name=CMAKE_EXTRA::"-A x64" fi + # Android + Quest build variables + if [[ "${{ matrix.build_type }}" == "android" ]]; then + HIFI_ANDROID_PRECOMPILED="${{runner.workspace}}/dependencies" + echo ::set-env name=HIFI_ANDROID_PRECOMPILED::"$HIFI_ANDROID_PRECOMPILED" + mkdir $HIFI_ANDROID_PRECOMPILED + echo ::set-env name=INSTALLER_EXT::apk + fi # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure Build Environment 2 shell: bash run: | echo "${{ steps.buildenv1.outputs.symbols_archive }}" - echo ::set-env name=ARTIFACT_PATTERN::Vircadia-Alpha-PR${{ github.event.number }}-*.$INSTALLER_EXT - # Build type variables - echo ::set-env name=INSTALLER::Vircadia-Alpha-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT + if [[ "${{ matrix.build_type }}" != "android" ]]; then + echo ::set-env name=ARTIFACT_PATTERN::Vircadia-Alpha-PR${{ github.event.number }}-*.$INSTALLER_EXT + # Build type variables + echo ::set-env name=INSTALLER::Vircadia-Alpha-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT + else + echo ::set-env name=ARTIFACT_PATTERN::*.$INSTALLER_EXT + fi - name: Clear Working Directory if: startsWith(matrix.os, 'windows') shell: bash @@ -98,26 +115,32 @@ jobs: shell: bash run: cmake -E make_directory "${{runner.workspace}}/build" - name: Configure CMake + if: matrix.build_type != 'android' working-directory: ${{runner.workspace}}/build shell: bash run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA - name: Build Application + if: matrix.build_type == 'full' || matrix.build_type == 'client' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target $APP_NAME $CMAKE_BUILD_EXTRA - name: Build Domain Server + if: matrix.build_type == 'full' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA - name: Build Assignment Client + if: matrix.build_type == 'full' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA - name: Build Console + if: matrix.build_type == 'full' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA - name: Build Installer + if: matrix.build_type != 'android' working-directory: ${{runner.workspace}}/build shell: bash run: | @@ -144,6 +167,18 @@ jobs: done } retry cmake --build . --config $BUILD_TYPE --target package $CMAKE_BUILD_EXTRA + - name: Build for Android + Quest + if: matrix.build_type == 'android' + shell: bash + working-directory: ${{runner.workspace}}/project-athena + run: | + echo "Pre-cache the vcpkg managed dependencies" + $PYTHON_EXEC prebuild.py --build-root ${{runner.workspace}}/build --android interface + cd android + # Pre-cache the gradle dependencies + ./gradlew -m tasks -PHIFI_ANDROID_PRECOMPILED=$HIFI_ANDROID_PRECOMPILED + # Build! + ./build_android.sh - name: Output system stats if: ${{ always() }} working-directory: ${{runner.workspace}}/build @@ -161,4 +196,8 @@ jobs: working-directory: ${{runner.workspace}}/build env: GITHUB_CONTEXT: ${{ toJson(github) }} - run: $PYTHON_EXEC "$GITHUB_WORKSPACE/tools/ci-scripts/upload_to_publish_server.py" + run: | + if [[ "${{ matrix.build_type }}" == "android" ]]; then + cd $GITHUB_WORKSPACE/android + fi + $PYTHON_EXEC "$GITHUB_WORKSPACE/tools/ci-scripts/upload_to_publish_server.py" \ No newline at end of file diff --git a/android/build_android.sh b/android/build_android.sh index e9c69b09de..9cf1b9e2ab 100755 --- a/android/build_android.sh +++ b/android/build_android.sh @@ -5,11 +5,11 @@ ANDROID_BUILD_TYPE=release ANDROID_BUILD_TARGET=assembleRelease if [[ "$RELEASE_TYPE" == "PR" ]]; then -ANDROID_APK_SUFFIX=PR${RELEASE_NUMBER}-${SHA7}.apk ; +ANDROID_APK_SUFFIX=PR${RELEASE_NUMBER}-${GIT_COMMIT_SHORT}.apk ; elif [[ "${STABLE_BUILD}" == "1" ]]; then ANDROID_APK_SUFFIX=${RELEASE_NUMBER}.apk ; else -ANDROID_APK_SUFFIX=${RELEASE_NUMBER}-${SHA7}.apk ; +ANDROID_APK_SUFFIX=${RELEASE_NUMBER}-${GIT_COMMIT_SHORT}.apk ; fi @@ -17,7 +17,7 @@ fi ANDROID_APP=interface ANDROID_OUTPUT_DIR=./apps/${ANDROID_APP}/build/outputs/apk/${ANDROID_BUILD_TYPE} ANDROID_OUTPUT_FILE=${ANDROID_APP}-${ANDROID_BUILD_TYPE}.apk -ANDROID_APK_NAME=HighFidelity-Beta-${ANDROID_APK_SUFFIX} +ANDROID_APK_NAME=Vircadia-Alpha-${ANDROID_APK_SUFFIX} ./gradlew -PHIFI_ANDROID_PRECOMPILED=${HIFI_ANDROID_PRECOMPILED} -PVERSION_CODE=${VERSION_CODE} -PRELEASE_NUMBER=${RELEASE_NUMBER} -PRELEASE_TYPE=${RELEASE_TYPE} ${ANDROID_APP}:${ANDROID_BUILD_TARGET} cp ${ANDROID_OUTPUT_DIR}/${ANDROID_OUTPUT_FILE} ./${ANDROID_APK_NAME} @@ -25,9 +25,9 @@ cp ${ANDROID_OUTPUT_DIR}/${ANDROID_OUTPUT_FILE} ./${ANDROID_APK_NAME} ANDROID_APP=questInterface ANDROID_OUTPUT_DIR=./apps/${ANDROID_APP}/build/outputs/apk/${ANDROID_BUILD_TYPE} ANDROID_OUTPUT_FILE=${ANDROID_APP}-${ANDROID_BUILD_TYPE}.apk -ANDROID_APK_NAME=HighFidelity-Quest-Beta-${ANDROID_APK_SUFFIX} +ANDROID_APK_NAME=Vircadia-Quest-Alpha-${ANDROID_APK_SUFFIX} ./gradlew -PHIFI_ANDROID_PRECOMPILED=${HIFI_ANDROID_PRECOMPILED} -PVERSION_CODE=${VERSION_CODE} -PRELEASE_NUMBER=${RELEASE_NUMBER} -PRELEASE_TYPE=${RELEASE_TYPE} ${ANDROID_APP}:${ANDROID_BUILD_TARGET} || true -cp ${ANDROID_OUTPUT_DIR}/${ANDROID_OUTPUT_FILE} ./${ANDROID_APK_NAME} || true +cp ${ANDROID_OUTPUT_DIR}/${ANDROID_OUTPUT_FILE} ./${ANDROID_APK_NAME} diff --git a/android/containerized_build.sh b/android/containerized_build.sh index 0c21d1df91..94b5b28831 100755 --- a/android/containerized_build.sh +++ b/android/containerized_build.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash set -xeuo pipefail -DOCKER_IMAGE_NAME="hifi_androidbuild" +DOCKER_IMAGE_NAME="vircadia_androidbuild" -docker build --build-arg BUILD_UID=`id -u` -t "${DOCKER_IMAGE_NAME}" -f docker/Dockerfile docker +docker build --build-arg BUILD_UID=`id -u` -t "${DOCKER_IMAGE_NAME}" -f ./android/docker/Dockerfile ./android/docker # The Jenkins PR builds use VERSION_CODE, but the release builds use VERSION # So make sure we use VERSION_CODE consistently @@ -17,7 +17,7 @@ test -z "$STABLE_BUILD" && export STABLE_BUILD=0 docker run \ --rm \ --security-opt seccomp:unconfined \ - -v "${WORKSPACE}":/home/jenkins/hifi \ + -v "${WORKSPACE}":/home/gha/project-athena \ -e RELEASE_NUMBER \ -e RELEASE_TYPE \ -e ANDROID_APP \ @@ -33,7 +33,7 @@ docker run \ -e OAUTH_CLIENT_SECRET \ -e OAUTH_CLIENT_ID \ -e OAUTH_REDIRECT_URI \ - -e SHA7 \ + -e GIT_COMMIT_SHORT \ -e STABLE_BUILD \ -e VERSION_CODE \ "${DOCKER_IMAGE_NAME}" \ diff --git a/android/docker/Dockerfile b/android/docker/Dockerfile index f6c0e7b2e5..144f6caffa 100644 --- a/android/docker/Dockerfile +++ b/android/docker/Dockerfile @@ -57,13 +57,13 @@ RUN apt-get -y install \ # --- Gradle ARG BUILD_UID=1001 -RUN useradd -ms /bin/bash -u $BUILD_UID jenkins -RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers -USER jenkins -WORKDIR /home/jenkins +RUN useradd -ms /bin/bash -u $BUILD_UID gha +RUN echo "gha ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +USER gha +WORKDIR /home/gha -# Hifi dependencies -ENV HIFI_BASE="/home/jenkins/hifi_android" +# Vircadia dependencies +ENV HIFI_BASE="/home/gha/vircadia_android" ENV HIFI_ANDROID_PRECOMPILED="$HIFI_BASE/dependencies" ENV HIFI_VCPKG_BASE="$HIFI_BASE/vcpkg" @@ -71,24 +71,18 @@ RUN mkdir "$HIFI_BASE" && \ mkdir "$HIFI_VCPKG_BASE" && \ mkdir "$HIFI_ANDROID_PRECOMPILED" -# Checkout a relatively recent commit from the main repository and use it to cache the -# gradle and vcpkg dependencies -# This commit ID should be updated whenever someone changes the dependency list -# in cmake/ports -RUN git clone https://github.com/highfidelity/hifi.git && \ - cd ~/hifi && \ - git checkout 796bfb5d6715ff14c2e60f3ee8fac1465b7578c6 +# Download the repo +RUN git clone https://github.com/kasenvr/project-athena.git -WORKDIR /home/jenkins/hifi +WORKDIR /home/gha/project-athena RUN mkdir build # Pre-cache the vcpkg managed dependencies -WORKDIR /home/jenkins/hifi/build +WORKDIR /home/gha/project-athena/build RUN python3 ../prebuild.py --build-root `pwd` --android interface # Pre-cache the gradle dependencies -WORKDIR /home/jenkins/hifi/android +WORKDIR /home/gha/project-athena/android RUN ./gradlew -m tasks -PHIFI_ANDROID_PRECOMPILED=$HIFI_ANDROID_PRECOMPILED #RUN ./gradlew extractDependencies -PHIFI_ANDROID_PRECOMPILED=$HIFI_ANDROID_PRECOMPILED - diff --git a/prebuild.py b/prebuild.py index cc315a49a4..21363bb9de 100644 --- a/prebuild.py +++ b/prebuild.py @@ -102,7 +102,7 @@ def parse_args(): if True: args = parser.parse_args() else: - args = parser.parse_args(['--android', 'questInterface', '--build-root', 'C:/git/hifi/android/apps/questInterface/.externalNativeBuild/cmake/debug/arm64-v8a']) + args = parser.parse_args(['--android', 'questInterface', '--build-root', 'C:/git/project-athena/android/apps/questInterface/.externalNativeBuild/cmake/debug/arm64-v8a']) return args def main(): From 91a35fb4bae944e6eaeac4a4ad2ba5aee0904d5f Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Wed, 19 Aug 2020 16:47:04 -0700 Subject: [PATCH 2/9] change quick goto --- .github/workflows/pr_build.yml | 1 - scripts/system/quickGoto.js | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 7bd061e7d2..3c6b91c65b 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -115,7 +115,6 @@ jobs: shell: bash run: cmake -E make_directory "${{runner.workspace}}/build" - name: Configure CMake - if: matrix.build_type != 'android' working-directory: ${{runner.workspace}}/build shell: bash run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA diff --git a/scripts/system/quickGoto.js b/scripts/system/quickGoto.js index c5560cce83..ec278dd1d2 100644 --- a/scripts/system/quickGoto.js +++ b/scripts/system/quickGoto.js @@ -30,7 +30,8 @@ }); } - addGotoButton("dev-mobile"); - addGotoButton("quest-dev"); + addGotoButton("172.104.248.237"); + addGotoButton("167.172.61.134"); + addGotoButton("file:///~/serverless/tutorial.json"); }()); // END LOCAL_SCOPE From cec0b41042581d9c625690a255a4d08a4c13eb40 Mon Sep 17 00:00:00 2001 From: HifiExperiments <53453710+HifiExperiments@users.noreply.github.com> Date: Fri, 30 Oct 2020 16:41:59 -0700 Subject: [PATCH 3/9] Apply suggestions from code review Co-authored-by: kasenvr <52365539+kasenvr@users.noreply.github.com> --- scripts/system/quickGoto.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/system/quickGoto.js b/scripts/system/quickGoto.js index ec278dd1d2..3211688e6e 100644 --- a/scripts/system/quickGoto.js +++ b/scripts/system/quickGoto.js @@ -30,8 +30,8 @@ }); } - addGotoButton("172.104.248.237"); - addGotoButton("167.172.61.134"); + addGotoButton("hub.daleglass.net"); + addGotoButton("lq-hub.vircadia.com"); addGotoButton("file:///~/serverless/tutorial.json"); }()); // END LOCAL_SCOPE From 696239a97b3a92abc99b1823585d1b42259dddb5 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Mon, 9 Nov 2020 19:22:53 -0800 Subject: [PATCH 4/9] try to fix android build --- libraries/gl/src/gl/Config.cpp | 4 ++-- libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries/gl/src/gl/Config.cpp b/libraries/gl/src/gl/Config.cpp index ab1dfac97c..2d6e3db8d2 100644 --- a/libraries/gl/src/gl/Config.cpp +++ b/libraries/gl/src/gl/Config.cpp @@ -96,7 +96,7 @@ void gl::initModuleGl() { wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)getGlProcessAddress("wglCreateContextAttribsARB"); #endif -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) QueryCurrentRendererIntegerMESA = (PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC)getGlProcessAddress("glXQueryCurrentRendererIntegerMESA"); #endif @@ -134,7 +134,7 @@ void gl::setSwapInterval(int interval) { } bool gl::queryCurrentRendererIntegerMESA(int attr, unsigned int *value) { - #if defined(Q_OS_LINUX) + #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) if (QueryCurrentRendererIntegerMESA) { return QueryCurrentRendererIntegerMESA(attr, value); } diff --git a/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp b/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp index 602ab1c320..ef247b0835 100644 --- a/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp +++ b/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp @@ -153,9 +153,11 @@ void GLBackend::init() { if (vendor.contains("NVIDIA") ) { qCDebug(gpugllogging) << "NVIDIA card detected"; +#if !defined(Q_OS_ANDROID) GL_GET_INTEGER(GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX); GL_GET_INTEGER(GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX); GL_GET_INTEGER(GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX); +#endif qCDebug(gpugllogging) << "GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: " << GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX; qCDebug(gpugllogging) << "GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX: " << GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX; @@ -168,7 +170,9 @@ void GLBackend::init() { } else if (vendor.contains("ATI")) { qCDebug(gpugllogging) << "ATI card detected"; +#if !defined(Q_OS_ANDROID) GL_GET_INTEGER(TEXTURE_FREE_MEMORY_ATI); +#endif _totalMemory = TEXTURE_FREE_MEMORY_ATI * BYTES_PER_KIB; _dedicatedMemory = _totalMemory; @@ -219,10 +223,14 @@ size_t GLBackend::getAvailableMemory() { switch( _videoCard ) { case NVIDIA: +#if !defined(Q_OS_ANDROID) glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &mem); +#endif return mem * BYTES_PER_KIB; case ATI: +#if !defined(Q_OS_ANDROID) glGetIntegerv(GL_TEXTURE_FREE_MEMORY_ATI, &mem); +#endif return mem * BYTES_PER_KIB; case MESA: return 0; // Don't know the current value From 4c536f43184cb6c1abfdf3d9779a4333a3f2a215 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Mon, 16 Nov 2020 22:11:14 -0800 Subject: [PATCH 5/9] try to replace set-env --- .github/workflows/master_build.yml | 42 +++++++++++++++--------------- .github/workflows/pr_build.yml | 34 ++++++++++++------------ 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index 824c279845..ac718c9bcd 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -48,36 +48,36 @@ jobs: shell: bash id: buildenv1 run: | - echo ::set-env name=UPLOAD_PREFIX::master - echo ::set-env name=GIT_COMMIT_SHORT::`echo $GIT_COMMIT | cut -c1-7` - echo ::set-env name=JOB_NAME::"build (${{matrix.os}}, ${{matrix.build_type}})" + echo "UPLOAD_PREFIX=master" >> $GITHUB_ENV + echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV + echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})` >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then - echo ::set-env name=PYTHON_EXEC::python3 - echo ::set-env name=INSTALLER_EXT::tgz - echo ::set-env name=CMAKE_BUILD_EXTRA::"-- -j3" - echo ::set-env name=CMAKE_EXTRA::"-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" + echo "PYTHON_EXEC=python3" >> $GITHUB_ENV + echo "INSTALLER_EXT=tgz" >> $GITHUB_ENV + echo "CMAKE_BUILD_EXTRA=`-- -j3`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)`" >> $GITHUB_ENV fi # Mac build variables if [ "${{ matrix.os }}" = "macOS-latest" ]; then - echo ::set-env name=PYTHON_EXEC::python3 - echo ::set-env name=ZIP_COMMAND::zip - echo ::set-env name=ZIP_ARGS::-r - echo ::set-env name=INSTALLER_EXT::dmg - echo ::set-env name=CMAKE_EXTRA::"-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" + echo "PYTHON_EXEC=python3" >> $GITHUB_ENV + echo "ZIP_COMMAND=zip" >> $GITHUB_ENV + echo "ZIP_ARGS=-r" >> $GITHUB_ENV + echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode`" >> $GITHUB_ENV echo "::set-output name=symbols_archive::${BUILD_NUMBER}-${{ matrix.build_type }}-mac-symbols.zip" fi # Windows build variables if [ "${{ matrix.os }}" = "windows-latest" ]; then - echo ::set-env name=PYTHON_EXEC::python - echo ::set-env name=ZIP_COMMAND::7z - echo ::set-env name=ZIP_ARGS::a - echo ::set-env name=INSTALLER_EXT::exe - echo ::set-env name=CMAKE_EXTRA::"-A x64" - echo "::set-env name=SYMBOL_REGEX::\(exe\|dll\|pdb\)" - echo "::set-output name=symbols_archive::${BUILD_NUMBER}-${{ matrix.build_type }}-win-symbols.zip" - # echo ::set-env name=HF_PFX_PASSPHRASE::${{secrets.pfx_key}} - # echo "::set-env name=HF_PFX_FILE::${{runner.workspace}}\build\codesign.pfx" + echo "PYTHON_EXEC=python" >> $GITHUB_ENV + echo "ZIP_COMMAND=7z" >> $GITHUB_ENV + echo "ZIP_ARGS=a" >> $GITHUB_ENV + echo "INSTALLER_EXT=exe" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-A x64`" >> $GITHUB_ENV + echo "SYMBOL_REGEX=\(exe\|dll\|pdb\)" >> $GITHUB_ENV + echo "symbols_archive=${BUILD_NUMBER}-${{ matrix.build_type }}-win-symbols.zip" >> $GITHUB_ENV + # echo "HF_PFX_PASSPHRASE=${{secrets.pfx_key}}" >> $GITHUB_ENV + # echo "HF_PFX_FILE=${{runner.workspace}}\build\codesign.pfx"" >> $GITHUB_ENV fi # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure build environment 2 diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 3c6b91c65b..b41304100f 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -49,34 +49,34 @@ jobs: shell: bash id: buildenv1 run: | - echo ::set-env name=GIT_COMMIT_SHORT::`echo $GIT_COMMIT | cut -c1-7` - echo ::set-env name=JOB_NAME::"build (${{matrix.os}}, ${{matrix.build_type}})" + echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV + echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})`" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then - echo ::set-env name=PYTHON_EXEC::python3 - echo ::set-env name=INSTALLER_EXT::* - echo ::set-env name=CMAKE_BUILD_EXTRA::"-- -j3" - echo ::set-env name=CMAKE_EXTRA::"-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" + echo "PYTHON_EXEC=python3" >> $GITHUB_ENV + echo "INSTALLER_EXT=*" >> $GITHUB_ENV + echo "CMAKE_BUILD_EXTRA=`-- -j3`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)`" >> $GITHUB_ENV fi # Mac build variables if [ "${{ matrix.os }}" = "macOS-latest" ]; then - echo ::set-env name=PYTHON_EXEC::python3 - echo ::set-env name=INSTALLER_EXT::dmg - echo ::set-env name=CMAKE_EXTRA::"-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" + echo "PYTHON_EXEC=python3" >> $GITHUB_ENV + echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode`" >> $GITHUB_ENV fi # Windows build variables if [ "${{ matrix.os }}" = "windows-latest" ]; then - echo ::set-env name=PYTHON_EXEC::python - echo ::set-env name=INSTALLER_EXT::exe - echo ::set-env name=CMAKE_EXTRA::"-A x64" + echo "PYTHON_EXEC=python" >> $GITHUB_ENV + echo "INSTALLER_EXT=exe" >> $GITHUB_ENV + echo "CMAKE_EXTRA=`-A x64`" >> $GITHUB_ENV fi # Android + Quest build variables if [[ "${{ matrix.build_type }}" == "android" ]]; then HIFI_ANDROID_PRECOMPILED="${{runner.workspace}}/dependencies" - echo ::set-env name=HIFI_ANDROID_PRECOMPILED::"$HIFI_ANDROID_PRECOMPILED" + echo "HIFI_ANDROID_PRECOMPILED=`$HIFI_ANDROID_PRECOMPILED`" >> $GITHUB_ENV mkdir $HIFI_ANDROID_PRECOMPILED - echo ::set-env name=INSTALLER_EXT::apk + echo "INSTALLER_EXT=apk" >> $GITHUB_ENV fi # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure Build Environment 2 @@ -84,11 +84,11 @@ jobs: run: | echo "${{ steps.buildenv1.outputs.symbols_archive }}" if [[ "${{ matrix.build_type }}" != "android" ]]; then - echo ::set-env name=ARTIFACT_PATTERN::Vircadia-Alpha-PR${{ github.event.number }}-*.$INSTALLER_EXT + echo "ARTIFACT_PATTERN=Vircadia-Alpha-PR${{ github.event.number }}-*.$INSTALLER_EXT" >> $GITHUB_ENV # Build type variables - echo ::set-env name=INSTALLER::Vircadia-Alpha-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT + echo "INSTALLER=Vircadia-Alpha-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV else - echo ::set-env name=ARTIFACT_PATTERN::*.$INSTALLER_EXT + echo "ARTIFACT_PATTERN=*.$INSTALLER_EXT" >> $GITHUB_ENV fi - name: Clear Working Directory if: startsWith(matrix.os, 'windows') From 5b8f7fad165d6f4b1f9d1ffb6549c1e1ac679b7f Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Mon, 16 Nov 2020 22:18:43 -0800 Subject: [PATCH 6/9] some more --- .github/workflows/master_build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index ac718c9bcd..505efe0171 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -50,7 +50,7 @@ jobs: run: | echo "UPLOAD_PREFIX=master" >> $GITHUB_ENV echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV - echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})` >> $GITHUB_ENV + echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})`" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV @@ -77,21 +77,21 @@ jobs: echo "SYMBOL_REGEX=\(exe\|dll\|pdb\)" >> $GITHUB_ENV echo "symbols_archive=${BUILD_NUMBER}-${{ matrix.build_type }}-win-symbols.zip" >> $GITHUB_ENV # echo "HF_PFX_PASSPHRASE=${{secrets.pfx_key}}" >> $GITHUB_ENV - # echo "HF_PFX_FILE=${{runner.workspace}}\build\codesign.pfx"" >> $GITHUB_ENV + # echo "HF_PFX_FILE=${{runner.workspace}}\build\codesign.pfx" >> $GITHUB_ENV fi # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure build environment 2 shell: bash run: | echo "${{ steps.buildenv1.outputs.symbols_archive }}" - echo ::set-env name=ARTIFACT_PATTERN::Vircadia-Alpha-*.$INSTALLER_EXT + echo "ARTIFACT_PATTERN=Vircadia-Alpha-*.$INSTALLER_EXT" >> $GITHUB_ENV # Build type variables if [ "${{ matrix.build_type }}" = "full" ]; then - echo ::set-env name=CLIENT_ONLY::FALSE - echo ::set-env name=INSTALLER::Vircadia-Alpha-$BUILD_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT + echo "CLIENT_ONLY=FALSE" >> $GITHUB_ENV + echo "INSTALLER=Vircadia-Alpha-$BUILD_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV else - echo ::set-env name=CLIENT_ONLY::TRUE - echo ::set-env name=INSTALLER::Vircadia-Alpha-Interface-$BUILD_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT + echo "CLIENT_ONLY=TRUE" >> $GITHUB_ENV + echo "INSTALLER=Vircadia-Alpha-Interface-$BUILD_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV fi - name: Clear working directory if: startsWith(matrix.os, 'windows') From be55993ddac3a7586eb652d54a3a993255f626bb Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Tue, 17 Nov 2020 13:14:23 -0800 Subject: [PATCH 7/9] try removing single quotes --- .github/workflows/master_build.yml | 12 ++++++------ .github/workflows/pr_build.yml | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index 505efe0171..a09844608f 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -49,14 +49,14 @@ jobs: id: buildenv1 run: | echo "UPLOAD_PREFIX=master" >> $GITHUB_ENV - echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV - echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})`" >> $GITHUB_ENV + echo "GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7" >> $GITHUB_ENV + echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV echo "INSTALLER_EXT=tgz" >> $GITHUB_ENV - echo "CMAKE_BUILD_EXTRA=`-- -j3`" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)`" >> $GITHUB_ENV + echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV fi # Mac build variables if [ "${{ matrix.os }}" = "macOS-latest" ]; then @@ -64,7 +64,7 @@ jobs: echo "ZIP_COMMAND=zip" >> $GITHUB_ENV echo "ZIP_ARGS=-r" >> $GITHUB_ENV echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" >> $GITHUB_ENV echo "::set-output name=symbols_archive::${BUILD_NUMBER}-${{ matrix.build_type }}-mac-symbols.zip" fi # Windows build variables @@ -73,7 +73,7 @@ jobs: echo "ZIP_COMMAND=7z" >> $GITHUB_ENV echo "ZIP_ARGS=a" >> $GITHUB_ENV echo "INSTALLER_EXT=exe" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-A x64`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-A x64" >> $GITHUB_ENV echo "SYMBOL_REGEX=\(exe\|dll\|pdb\)" >> $GITHUB_ENV echo "symbols_archive=${BUILD_NUMBER}-${{ matrix.build_type }}-win-symbols.zip" >> $GITHUB_ENV # echo "HF_PFX_PASSPHRASE=${{secrets.pfx_key}}" >> $GITHUB_ENV diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index b41304100f..5cfc566717 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -49,32 +49,32 @@ jobs: shell: bash id: buildenv1 run: | - echo "GIT_COMMIT_SHORT=`echo $GIT_COMMIT | cut -c1-7`" >> $GITHUB_ENV - echo "JOB_NAME=`build (${{matrix.os}}, ${{matrix.build_type}})`" >> $GITHUB_ENV + echo "GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7" >> $GITHUB_ENV + echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV echo "INSTALLER_EXT=*" >> $GITHUB_ENV - echo "CMAKE_BUILD_EXTRA=`-- -j3`" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)`" >> $GITHUB_ENV + echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV fi # Mac build variables if [ "${{ matrix.os }}" = "macOS-latest" ]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" >> $GITHUB_ENV fi # Windows build variables if [ "${{ matrix.os }}" = "windows-latest" ]; then echo "PYTHON_EXEC=python" >> $GITHUB_ENV echo "INSTALLER_EXT=exe" >> $GITHUB_ENV - echo "CMAKE_EXTRA=`-A x64`" >> $GITHUB_ENV + echo "CMAKE_EXTRA=-A x64" >> $GITHUB_ENV fi # Android + Quest build variables if [[ "${{ matrix.build_type }}" == "android" ]]; then HIFI_ANDROID_PRECOMPILED="${{runner.workspace}}/dependencies" - echo "HIFI_ANDROID_PRECOMPILED=`$HIFI_ANDROID_PRECOMPILED`" >> $GITHUB_ENV + echo "HIFI_ANDROID_PRECOMPILED=$HIFI_ANDROID_PRECOMPILED" >> $GITHUB_ENV mkdir $HIFI_ANDROID_PRECOMPILED echo "INSTALLER_EXT=apk" >> $GITHUB_ENV fi From 17f579882a3a1f7a3e93e87440d84e1f4a97cd44 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Tue, 17 Nov 2020 15:09:50 -0800 Subject: [PATCH 8/9] try fixing commit short --- .github/workflows/master_build.yml | 3 ++- .github/workflows/pr_build.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index a09844608f..e264ba7937 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -49,7 +49,8 @@ jobs: id: buildenv1 run: | echo "UPLOAD_PREFIX=master" >> $GITHUB_ENV - echo "GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7" >> $GITHUB_ENV + GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7 + echo "GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT" >> $GITHUB_ENV echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 5cfc566717..9907109e9c 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -49,7 +49,8 @@ jobs: shell: bash id: buildenv1 run: | - echo "GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7" >> $GITHUB_ENV + GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7 + echo "GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT" >> $GITHUB_ENV echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables From 1e07971d10ae43089b9eea0d9c0044e72109ac86 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Tue, 17 Nov 2020 18:53:24 -0800 Subject: [PATCH 9/9] how about this --- .github/workflows/master_build.yml | 4 ++-- .github/workflows/pr_build.yml | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index e264ba7937..6d23257899 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -49,8 +49,7 @@ jobs: id: buildenv1 run: | echo "UPLOAD_PREFIX=master" >> $GITHUB_ENV - GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7 - echo "GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT" >> $GITHUB_ENV + echo ::set-output name=github_sha_short::`echo $GIT_COMMIT | cut -c1-7` echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then @@ -87,6 +86,7 @@ jobs: echo "${{ steps.buildenv1.outputs.symbols_archive }}" echo "ARTIFACT_PATTERN=Vircadia-Alpha-*.$INSTALLER_EXT" >> $GITHUB_ENV # Build type variables + echo "GIT_COMMIT_SHORT=${{ steps.buildenv1.outputs.github_sha_short }}" >> $GITHUB_ENV if [ "${{ matrix.build_type }}" = "full" ]; then echo "CLIENT_ONLY=FALSE" >> $GITHUB_ENV echo "INSTALLER=Vircadia-Alpha-$BUILD_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 9907109e9c..757a6fd7c8 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -22,7 +22,6 @@ env: # WIN32 specific variables PreferredToolArchitecture: X64 - GIT_COMMIT_SHORT: ${{ github.sha }} jobs: @@ -49,8 +48,7 @@ jobs: shell: bash id: buildenv1 run: | - GIT_COMMIT_SHORT=echo $GIT_COMMIT | cut -c1-7 - echo "GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT" >> $GITHUB_ENV + echo ::set-output name=github_sha_short::`echo $GIT_COMMIT | cut -c1-7` echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV # Linux build variables @@ -84,6 +82,7 @@ jobs: shell: bash run: | echo "${{ steps.buildenv1.outputs.symbols_archive }}" + echo "GIT_COMMIT_SHORT=${{ steps.buildenv1.outputs.github_sha_short }}" >> $GITHUB_ENV if [[ "${{ matrix.build_type }}" != "android" ]]; then echo "ARTIFACT_PATTERN=Vircadia-Alpha-PR${{ github.event.number }}-*.$INSTALLER_EXT" >> $GITHUB_ENV # Build type variables