Skip to content

Commit

Permalink
Merge branch '24.lts.1+' into cherry-pick-24.lts.1+-2608
Browse files Browse the repository at this point in the history
  • Loading branch information
osagie98 authored Apr 8, 2024
2 parents 49aafc6 + 07c292d commit 3aaccae
Show file tree
Hide file tree
Showing 67 changed files with 1,023 additions and 254 deletions.
4 changes: 2 additions & 2 deletions .github/actions/build/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 4 additions & 4 deletions .github/actions/gn/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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}}\""
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/on_device_tests/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 8 additions & 8 deletions .github/actions/on_host_test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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}
Expand Down
10 changes: 5 additions & 5 deletions .github/actions/upload_test_artifacts/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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' ]
Expand Down Expand Up @@ -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' ]
Expand Down
10 changes: 5 additions & 5 deletions .github/config/evergreen-arm-hardfp.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"docker_service": "build-raspi",
"bootloader": "raspi-2",
"evergreen_loader": "raspi-2",
"on_device_test": {
"enabled": true,
"tests": [
Expand All @@ -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.*"
},
{
Expand All @@ -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.*"
},
Expand All @@ -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.*"
},
Expand All @@ -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.*"
}
Expand Down
2 changes: 1 addition & 1 deletion .github/config/evergreen-x64.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
1 change: 1 addition & 0 deletions .github/config/linux.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"docker_service": "build-linux",
"evergreen_loader": "linux-x64x11",
"on_host_test": true,
"on_host_test_shards": ["0", "1", "2", "3", "blackbox", "wpt"],
"platforms": [
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/android_24.lts.1+.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: android_24.lts.1+

on:
release:
types: [prereleased, released, published]
pull_request:
types: [ready_for_review, opened, reopened, synchronize, labeled]
branches:
Expand Down Expand Up @@ -28,6 +30,7 @@ jobs:
with:
platform: android-arm64
nightly: ${{ github.event.inputs.nightly }}
keep_artifacts: cobalt.apk
android-x86:
uses: ./.github/workflows/main.yaml
permissions:
Expand All @@ -36,6 +39,7 @@ jobs:
with:
platform: android-x86
nightly: ${{ github.event.inputs.nightly }}
keep_artifacts: cobalt.apk
android-arm:
uses: ./.github/workflows/main.yaml
permissions:
Expand All @@ -44,3 +48,49 @@ jobs:
with:
platform: android-arm
nightly: ${{ github.event.inputs.nightly }}
keep_artifacts: cobalt.apk

upload-release-artifacts:
runs-on: ubuntu-latest
needs: [ android-arm, android-arm64, android-x86 ]
permissions:
actions: write
steps:
- name: Download arm-gold apk
uses: actions/download-artifact@v4
with:
name: android-arm-gold
path: arm-gold
- name: Download arm-qa apk
uses: actions/download-artifact@v4
with:
name: android-arm-qa
path: arm-qa
- name: Download arm64-gold apk
uses: actions/download-artifact@v4
with:
name: android-arm64-gold
path: arm64-gold
- name: Download arm64-qa apk
uses: actions/download-artifact@v4
with:
name: android-arm64-gold
path: arm64-qa
- name: Download x86-gold apk
uses: actions/download-artifact@v4
with:
name: android-x86-gold
path: x86-gold
- name: Download x86-qa apk
uses: actions/download-artifact@v4
with:
name: android-x86-qa
path: x86-qa
- name: 'Upload Android APKs'
uses: actions/upload-artifact@v4
with:
name: Android APKs
path: ./*
retention-days: 90
compression-level: 0 # We expect kept artifacts to be already compressed
if-no-files-found: error
52 changes: 33 additions & 19 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ on:
required: false
type: boolean
default: false
keep_artifacts:
description: 'Which artifacts to keep for releases'
required: false
type: string
default: ''

# Global env vars.
env:
Expand Down Expand Up @@ -100,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
Expand All @@ -113,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.
Expand Down Expand Up @@ -210,34 +215,43 @@ jobs:
uses: ./.github/actions/gn
- name: Build Cobalt
uses: ./.github/actions/build
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
if: inputs.keep_artifacts
with:
name: ${{ matrix.platform }}-${{ matrix.config }}
path: out/${{ matrix.platform }}_${{ matrix.config }}/${{ inputs.keep_artifacts }}
retention-days: 7
compression-level: 0 # We expect kept artifacts to be already compressed
if-no-files-found: error
- name: Run API Leak Detector
uses: ./.github/actions/api_leak_detector
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' }}
- 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' }}
- 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
Expand Down Expand Up @@ -279,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:
Expand Down Expand Up @@ -311,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
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
/venv/*
_certs/
.coverage
compile_commands.json
1 change: 1 addition & 0 deletions cobalt/base/tokens.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ namespace base {
MacroOpWithNameOnly(resourcetimingbufferfull) \
MacroOpWithNameOnly(result) \
MacroOpWithNameOnly(resume) \
MacroOpWithNameOnly(samplebufferfull) \
MacroOpWithNameOnly(scroll) \
MacroOpWithNameOnly(securitypolicyviolation) \
MacroOpWithNameOnly(seeked) \
Expand Down
1 change: 1 addition & 0 deletions cobalt/black_box_tests/black_box_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
'disable_eval_with_csp',
'h5vcc_storage_write_verify_test',
'http_cache',
'javascript_profiler',
'persistent_cookie',
'scroll',
'service_worker_add_to_cache_test',
Expand Down
Loading

0 comments on commit 3aaccae

Please sign in to comment.