From 73a025ce5d8e9ef50b68f9a2faa0269f6a526566 Mon Sep 17 00:00:00 2001 From: cobalt-github-releaser-bot <95661244+cobalt-github-releaser-bot@users.noreply.github.com> Date: Sat, 30 Mar 2024 02:27:57 -0700 Subject: [PATCH] Cherry pick PR #2777: Reorder GitHub workflow steps. (#2782) Refer to the original PR: https://github.com/youtube/cobalt/pull/2777 Reorder GitHub workflow steps so that Upload Nightly Artifacts occurs after Build Bootloader is potentionally run so that the upload includes the bootloaders. b/323963204 --------- Co-authored-by: Brian Ting --- .github/actions/build/action.yaml | 4 +- .github/actions/gn/action.yaml | 8 ++-- .github/actions/on_device_tests/action.yaml | 4 +- .github/actions/on_host_test/action.yaml | 16 ++++---- .../actions/upload_test_artifacts/action.yaml | 10 ++--- .github/config/evergreen-arm-hardfp.json | 10 ++--- .github/config/evergreen-x64.json | 2 +- .github/config/linux.json | 2 +- .github/workflows/main.yaml | 38 +++++++++---------- 9 files changed, 47 insertions(+), 47 deletions(-) diff --git a/.github/actions/build/action.yaml b/.github/actions/build/action.yaml index 28616c4afed4..927ec0bec326 100644 --- a/.github/actions/build/action.yaml +++ b/.github/actions/build/action.yaml @@ -17,14 +17,14 @@ runs: run: | set -x env - if [ -z ${COBALT_BOOTLOADER+x} ]; then + if [ -z ${COBALT_EVERGREEN_LOADER+x} ]; then BUILD_PLATFORM=${{ matrix.target_platform }} BUILD_TARGET=all if [[ "${{matrix.config}}" =~ ^(qa|gold)$ ]]; then BUILD_TARGET=default fi else - BUILD_PLATFORM=${COBALT_BOOTLOADER} + BUILD_PLATFORM=${COBALT_EVERGREEN_LOADER} BUILD_TARGET='loader_app_install elf_loader_sandbox_install native_target/crashpad_handler' fi # GitHub Runners have home set to /github/home. diff --git a/.github/actions/gn/action.yaml b/.github/actions/gn/action.yaml index 7afac0350b1e..ba027017a1cd 100644 --- a/.github/actions/gn/action.yaml +++ b/.github/actions/gn/action.yaml @@ -22,13 +22,13 @@ runs: run: | set -x extra_arguments="${{matrix.extra_gn_arguments}}" - if [ -z ${COBALT_BOOTLOADER+x} ]; then + if [ -z ${COBALT_EVERGREEN_LOADER+x} ]; then BUILD_PLATFORM=${{ matrix.target_platform }} else - BUILD_PLATFORM=${COBALT_BOOTLOADER} - if [ ! -z "${{matrix.bootloader_extra_gn_arguments}}" ] + BUILD_PLATFORM=${COBALT_EVERGREEN_LOADER} + if [ ! -z "${{matrix.evergreen_loader_extra_gn_arguments}}" ] then - extra_arguments="${{matrix.bootloader_extra_gn_arguments}}" + extra_arguments="${{matrix.evergreen_loader_extra_gn_arguments}}" fi fi gn gen $GITHUB_WORKSPACE/out/${BUILD_PLATFORM}_${{matrix.config}} --args="target_platform=\"${BUILD_PLATFORM}\" ${{matrix.sb_api_version}} ${{matrix.target_os}} ${{matrix.target_cpu}} ${extra_arguments} is_internal_build=false build_type=\"${{matrix.config}}\"" diff --git a/.github/actions/on_device_tests/action.yaml b/.github/actions/on_device_tests/action.yaml index 7b9ef1e98983..c981288dafe7 100644 --- a/.github/actions/on_device_tests/action.yaml +++ b/.github/actions/on_device_tests/action.yaml @@ -23,9 +23,9 @@ runs: echo "WORKFLOW=${WORKFLOW}" >> $GITHUB_ENV # Boot loader env - if [ "${COBALT_BOOTLOADER}" != "null" ]; then + if [ "${COBALT_EVERGREEN_LOADER}" != "null" ]; then echo "LOADER_CONFIG=${{ matrix.config }}" >> $GITHUB_ENV - echo "LOADER_PLATFORM=${COBALT_BOOTLOADER}" >> $GITHUB_ENV + echo "LOADER_PLATFORM=${COBALT_EVERGREEN_LOADER}" >> $GITHUB_ENV fi # Dimension env diff --git a/.github/actions/on_host_test/action.yaml b/.github/actions/on_host_test/action.yaml index a10a8bf2af5d..c751de0de0f9 100644 --- a/.github/actions/on_host_test/action.yaml +++ b/.github/actions/on_host_test/action.yaml @@ -39,21 +39,21 @@ runs: fi python3 ${GITHUB_WORKSPACE}/tools/create_archive.py -x -s ${GITHUB_WORKSPACE}/out/tmp/${{matrix.platform}}_${{matrix.config}}.${ARCHIVE_EXTENSION} -d ${GITHUB_WORKSPACE}/out ${parallel} rm -rf ${GITHUB_WORKSPACE}/out/tmp - - name: Download Bootloader Archive - if: ${{ env.COBALT_BOOTLOADER != null && env.COBALT_BOOTLOADER != 'null' }} + - name: Download Evergreen loader Archive + if: ${{ env.COBALT_EVERGREEN_LOADER != null && env.COBALT_EVERGREEN_LOADER != 'null' }} shell: bash env: WORKFLOW: ${{ github.workflow }} run: | set -x PROJECT_NAME=$(gcloud config get-value project) - gsutil cp gs://${PROJECT_NAME}-test-artifacts/${WORKFLOW}/${GITHUB_RUN_NUMBER}/${{matrix.platform}}_${{matrix.config}}/${COBALT_BOOTLOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} ${GITHUB_WORKSPACE}/out/tmp/${COBALT_BOOTLOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} - - name: Extract Bootloader Archive - if: ${{ env.COBALT_BOOTLOADER != null && env.COBALT_BOOTLOADER != 'null' }} + gsutil cp gs://${PROJECT_NAME}-test-artifacts/${WORKFLOW}/${GITHUB_RUN_NUMBER}/${{matrix.platform}}_${{matrix.config}}/${COBALT_EVERGREEN_LOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} ${GITHUB_WORKSPACE}/out/tmp/${COBALT_EVERGREEN_LOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} + - name: Extract Evergreen loader Archive + if: ${{ env.COBALT_EVERGREEN_LOADER != null && env.COBALT_EVERGREEN_LOADER != 'null' }} shell: bash run: | set -x - python3 ${GITHUB_WORKSPACE}/tools/create_archive.py -x -s ${GITHUB_WORKSPACE}/out/tmp/${COBALT_BOOTLOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} -d ${GITHUB_WORKSPACE}/out --parallel + python3 ${GITHUB_WORKSPACE}/tools/create_archive.py -x -s ${GITHUB_WORKSPACE}/out/tmp/${COBALT_EVERGREEN_LOADER}_${{matrix.config}}.${ARCHIVE_EXTENSION} -d ${GITHUB_WORKSPACE}/out --parallel rm -rf ${GITHUB_WORKSPACE}/out/tmp - name: Set Env Variables shell: bash @@ -66,8 +66,8 @@ runs: run: | set -x loader_args='' - if [ "${COBALT_BOOTLOADER}" != "null" ]; then - loader_args="--loader_platform ${COBALT_BOOTLOADER} --loader_config ${{matrix.config}}" + if [ "${COBALT_EVERGREEN_LOADER}" != "null" ]; then + loader_args="--loader_platform ${COBALT_EVERGREEN_LOADER} --loader_config ${{matrix.config}}" fi if [[ "${{matrix.shard}}" == 'integration' ]]; then xvfb-run -a --server-args="-screen 0 1920x1080x24i +render +extension GLX -noreset" python3 $GITHUB_WORKSPACE/cobalt/black_box_tests/black_box_tests.py --platform ${{matrix.target_platform}} --config ${{matrix.config}} ${loader_args} diff --git a/.github/actions/upload_test_artifacts/action.yaml b/.github/actions/upload_test_artifacts/action.yaml index d2923eb553a7..33eaa063fc0f 100644 --- a/.github/actions/upload_test_artifacts/action.yaml +++ b/.github/actions/upload_test_artifacts/action.yaml @@ -18,13 +18,13 @@ runs: run: | set -x project_name=$(gcloud config get-value project) - if [ -z ${COBALT_BOOTLOADER+x} ] + if [ -z ${COBALT_EVERGREEN_LOADER+x} ] then PLATFORM=${{matrix.platform}} echo "TARGET_PLATFORM=${{matrix.target_platform}}" >> $GITHUB_ENV else - PLATFORM=${COBALT_BOOTLOADER} - echo "TARGET_PLATFORM=${COBALT_BOOTLOADER}" >> $GITHUB_ENV + PLATFORM=${COBALT_EVERGREEN_LOADER} + echo "TARGET_PLATFORM=${COBALT_EVERGREEN_LOADER}" >> $GITHUB_ENV fi if [ "${{ inputs.type }}" == 'ondevice' ] @@ -56,9 +56,9 @@ runs: if [ "${{ inputs.type }}" == 'ondevice' ] then outdir="$GITHUB_WORKSPACE/out/${{matrix.target_platform}}_${{matrix.config}}" - if [ -n "${COBALT_BOOTLOADER}" ] + if [ -n "${COBALT_EVERGREEN_LOADER}" ] then - outdir="${outdir} $GITHUB_WORKSPACE/out/${COBALT_BOOTLOADER}_${{matrix.config}}" + outdir="${outdir} $GITHUB_WORKSPACE/out/${COBALT_EVERGREEN_LOADER}_${{matrix.config}}" fi python3 $GITHUB_WORKSPACE/tools/create_archive.py --test_infra -d ${{env.ARCHIVE_FILE}} -s ${outdir} elif [ "${{ inputs.type }}" == 'onhost' ] diff --git a/.github/config/evergreen-arm-hardfp.json b/.github/config/evergreen-arm-hardfp.json index 8067c723440a..13b3cd366bb8 100644 --- a/.github/config/evergreen-arm-hardfp.json +++ b/.github/config/evergreen-arm-hardfp.json @@ -1,6 +1,6 @@ { "docker_service": "build-raspi", - "bootloader": "raspi-2", + "evergreen_loader": "raspi-2", "on_device_test": { "enabled": true, "tests": [ @@ -25,7 +25,7 @@ "target_platform":"evergreen-arm-hardfp", "target_cpu":"target_cpu=\\\"arm\\\"", "extra_gn_arguments":"use_asan=false", - "bootloader_extra_gn_arguments": "use_asan=false is_clang=false", + "evergreen_loader_extra_gn_arguments": "use_asan=false is_clang=false", "dimension": "release_version=regex:10.*" }, { @@ -34,7 +34,7 @@ "target_platform":"evergreen-arm-hardfp", "target_cpu":"target_cpu=\\\"arm\\\"", "extra_gn_arguments":"use_asan=false", - "bootloader_extra_gn_arguments":"use_asan=false is_clang=false", + "evergreen_loader_extra_gn_arguments":"use_asan=false is_clang=false", "sb_api_version": "sb_api_version=15", "dimension": "release_version=regex:10.*" }, @@ -44,7 +44,7 @@ "target_platform":"evergreen-arm-hardfp", "target_cpu":"target_cpu=\\\"arm\\\"", "extra_gn_arguments":"use_asan=false", - "bootloader_extra_gn_arguments":"use_asan=false is_clang=false", + "evergreen_loader_extra_gn_arguments":"use_asan=false is_clang=false", "sb_api_version": "sb_api_version=14", "dimension": "release_version=regex:10.*" }, @@ -54,7 +54,7 @@ "target_platform":"evergreen-arm-hardfp", "target_cpu":"target_cpu=\\\"arm\\\"", "extra_gn_arguments":"use_asan=false", - "bootloader_extra_gn_arguments":"use_asan=false is_clang=false", + "evergreen_loader_extra_gn_arguments":"use_asan=false is_clang=false", "sb_api_version": "sb_api_version=13", "dimension": "release_version=regex:10.*" } diff --git a/.github/config/evergreen-x64.json b/.github/config/evergreen-x64.json index b95a3183741a..0f18b571e021 100644 --- a/.github/config/evergreen-x64.json +++ b/.github/config/evergreen-x64.json @@ -1,7 +1,7 @@ { "docker_service": "build-linux-evergreen", "on_host_test": true, - "bootloader": "linux-x64x11", + "evergreen_loader": "linux-x64x11", "on_host_test_shards": ["0", "1", "2", "3", "blackbox", "wpt"], "platforms": [ "evergreen-x64", diff --git a/.github/config/linux.json b/.github/config/linux.json index 633f86511321..e1efe4b1c102 100644 --- a/.github/config/linux.json +++ b/.github/config/linux.json @@ -1,6 +1,6 @@ { "docker_service": "build-linux", - "bootloader": "linux-x64x11", + "evergreen_loader": "linux-x64x11", "on_host_test": true, "on_host_test_shards": ["0", "1", "2", "3", "blackbox", "wpt"], "platforms": [ diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 4cd3c859c8dc..4717d45d8a5e 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -105,8 +105,8 @@ jobs: run: echo "on_host_test=$(cat ${GITHUB_WORKSPACE}/.github/config/${{ inputs.platform }}.json | jq -rc '.on_host_test')" >> $GITHUB_ENV - id: set-on-host-test-shards run: echo "on_host_test_shards=$(cat ${GITHUB_WORKSPACE}/.github/config/${{ inputs.platform }}.json | jq -c '.on_host_test_shards')" >> $GITHUB_ENV - - id: set-on-host-test-bootloader - run: echo "bootloader=$(cat ${GITHUB_WORKSPACE}/.github/config/${{ inputs.platform }}.json | jq -rc '.bootloader')" >> $GITHUB_ENV + - id: set-on-host-test-evergreen-loader + run: echo "evergreen_loader=$(cat ${GITHUB_WORKSPACE}/.github/config/${{ inputs.platform }}.json | jq -rc '.evergreen_loader')" >> $GITHUB_ENV - id: set-docker-service run: | echo "docker_service=$(cat ${GITHUB_WORKSPACE}/.github/config/${{ inputs.platform }}.json | jq -r '.docker_service')" >> $GITHUB_ENV @@ -118,7 +118,7 @@ jobs: on_device_test_attempts: ${{ env.on_device_test_attempts }} on_host_test: ${{ env.on_host_test }} on_host_test_shards: ${{ env.on_host_test_shards }} - bootloader: ${{ env.bootloader }} + evergreen_loader: ${{ env.evergreen_loader }} docker_service: ${{ env.docker_service }} # Builds, tags, and pushes Cobalt docker build images to ghr. @@ -229,29 +229,29 @@ jobs: if: inputs.run_api_leak_detector with: relative_manifest_path: ${{ inputs.leak_manifest_filename }} - - name: Upload Nightly Artifacts - if: ${{ ( inputs.nightly == 'true' || github.event_name == 'schedule' ) && matrix.config != 'debug' }} - uses: ./.github/actions/upload_nightly_artifacts - name: Upload On Host Test Artifacts if: ${{ matrix.config == 'devel' && needs.initialize.outputs.on_host_test == 'true' }} uses: ./.github/actions/upload_test_artifacts with: type: onhost os: linux - # For some reason passing needs.initialize.outputs.bootloader as parameter to build + # For some reason passing needs.initialize.outputs.evergreen_loader as parameter to build # action didn't work, so instead we set an env var. - - name: Set bootloader config - if: ${{ needs.initialize.outputs.bootloader != 'null' }} - run: echo "COBALT_BOOTLOADER=${{needs.initialize.outputs.bootloader}}" >> $GITHUB_ENV - # Build bootloader for on-host tests if necessary. - - name: Bootloader GN - if: ${{ needs.initialize.outputs.bootloader != 'null' && ( matrix.config == 'devel' || matrix.config == 'qa' ) }} + - name: Set Evergreen loader config + if: ${{ needs.initialize.outputs.evergreen_loader != 'null' }} + run: echo "COBALT_EVERGREEN_LOADER=${{needs.initialize.outputs.evergreen_loader}}" >> $GITHUB_ENV + # Build Evergreen loader for on-host tests if necessary. + - name: Evergreen loader GN + if: ${{ needs.initialize.outputs.evergreen_loader != 'null' && ( matrix.config == 'devel' || matrix.config == 'qa' ) }} uses: ./.github/actions/gn - - name: Build Bootloader - if: ${{ needs.initialize.outputs.bootloader != 'null' && ( matrix.config == 'devel' || matrix.config == 'qa' ) }} + - name: Build Evergreen loader + if: ${{ needs.initialize.outputs.evergreen_loader != 'null' && ( matrix.config == 'devel' || matrix.config == 'qa' ) }} uses: ./.github/actions/build - - name: Upload Bootloader On Host Test Artifacts - if: ${{ needs.initialize.outputs.bootloader != 'null' && matrix.config == 'devel' && needs.initialize.outputs.on_host_test == 'true'}} + - name: Upload Nightly Artifacts + if: ${{ ( inputs.nightly == 'true' || github.event_name == 'schedule' ) && matrix.config != 'debug' }} + uses: ./.github/actions/upload_nightly_artifacts + - name: Upload Evergreen loader On Host Test Artifacts + if: ${{ needs.initialize.outputs.evergreen_loader != 'null' && matrix.config == 'devel' && needs.initialize.outputs.on_host_test == 'true'}} uses: ./.github/actions/upload_test_artifacts with: type: onhost @@ -293,7 +293,7 @@ jobs: shard: ${{ fromJson(needs.initialize.outputs.on_device_test).tests }} include: ${{ fromJson(needs.initialize.outputs.includes) }} env: - COBALT_BOOTLOADER: ${{ needs.initialize.outputs.bootloader }} + COBALT_EVERGREEN_LOADER: ${{ needs.initialize.outputs.evergreen_loader }} ON_DEVICE_TEST_ATTEMPTS: ${{ needs.initialize.outputs.on_device_test_attempts }} MODULAR_BUILD: ${{ inputs.modular && 1 || 0 }} steps: @@ -325,7 +325,7 @@ jobs: # For some reason tests complaining about HOME set to /github/home # with permission denied error. HOME: /root - COBALT_BOOTLOADER: ${{needs.initialize.outputs.bootloader}} + COBALT_EVERGREEN_LOADER: ${{needs.initialize.outputs.evergreen_loader}} MODULAR_BUILD: ${{ inputs.modular && 1 || 0 }} steps: - name: Checkout