Start Full Scan from a random index for Least Request LB. #16638
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: android_build | |
permissions: | |
contents: read | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
concurrency: | |
group: ${{ github.head_ref || github.run_id }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
env: | |
if: ${{ github.repository == 'envoyproxy/envoy' }} | |
uses: ./.github/workflows/_env.yml | |
permissions: | |
contents: read | |
pull-requests: read | |
androidbuild: | |
if: ${{ needs.env.outputs.mobile_android_build == 'true' }} | |
needs: env | |
permissions: | |
contents: read | |
packages: read | |
name: android_build | |
runs-on: ${{ needs.env.outputs.agent_ubuntu }} | |
timeout-minutes: 90 | |
container: | |
image: ${{ needs.env.outputs.build_image_ubuntu_mobile }} | |
env: | |
CC: /opt/llvm/bin/clang | |
CXX: /opt/llvm/bin/clang++ | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Add safe directory | |
run: git config --global --add safe.directory /__w/envoy/envoy | |
- name: 'Build envoy.aar distributable' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd mobile | |
./bazelw build \ | |
--config=mobile-remote-release-clang \ | |
--fat_apk_cpu=x86_64 \ | |
--linkopt=-fuse-ld=lld \ | |
//:android_dist | |
javahelloworld: | |
if: ${{ needs.env.outputs.mobile_android_build_all == 'true' }} | |
needs: | |
- env | |
- androidbuild | |
permissions: | |
contents: read | |
packages: read | |
name: java_helloworld | |
runs-on: envoy-x64-small | |
timeout-minutes: 50 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 | |
with: | |
java-version: '11' | |
java-package: jdk | |
architecture: x64 | |
distribution: zulu | |
- name: 'Install dependencies' | |
run: | | |
cd mobile | |
./ci/linux_ci_setup.sh | |
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ | |
- name: Enable KVM group permissions | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd | |
name: 'Start emulator' | |
with: | |
timeout_minutes: 15 | |
max_attempts: 1 | |
command: ./mobile/ci/start_android_emulator.sh | |
# Return to using: | |
# cd mobile && ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/java/hello_world:hello_envoy | |
# When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. | |
- name: 'Start Java app' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd mobile | |
./bazelw build \ | |
--config=mobile-remote-release-clang \ | |
--fat_apk_cpu=x86_64 \ | |
--linkopt=-fuse-ld=lld \ | |
//examples/java/hello_world:hello_envoy | |
"${ANDROID_HOME}"/platform-tools/adb install -r --no-incremental bazel-bin/examples/java/hello_world/hello_envoy.apk | |
"${ANDROID_HOME}"/platform-tools/adb shell am start -n io.envoyproxy.envoymobile.helloenvoy/.MainActivity | |
- name: 'Check connectivity' | |
run: | | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat -e "received headers with status 301" -m 1 || { | |
echo "Failed checking for headers in adb logcat" >&2 | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat || { | |
echo "Failed dumping adb logcat" >&2 | |
} | |
exit 1 | |
} | |
kotlinhelloworld: | |
if: ${{ needs.env.outputs.mobile_android_build == 'true' }} | |
needs: | |
- env | |
- androidbuild | |
permissions: | |
contents: read | |
packages: read | |
name: kotlin_helloworld | |
runs-on: envoy-x64-small | |
timeout-minutes: 50 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 | |
with: | |
java-version: '11' | |
java-package: jdk | |
architecture: x64 | |
distribution: zulu | |
- name: 'Install dependencies' | |
run: | | |
cd mobile | |
./ci/linux_ci_setup.sh | |
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ | |
- name: Enable KVM group permissions | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd | |
name: 'Start emulator' | |
with: | |
timeout_minutes: 15 | |
max_attempts: 1 | |
command: ./mobile/ci/start_android_emulator.sh | |
# Return to using: | |
# ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt | |
# When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. | |
- name: 'Start Kotlin app' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd mobile | |
./bazelw build \ | |
--config=mobile-remote-release-clang \ | |
--fat_apk_cpu=x86_64 \ | |
--linkopt=-fuse-ld=lld \ | |
//examples/kotlin/hello_world:hello_envoy_kt | |
"${ANDROID_HOME}"/platform-tools/adb install -r --no-incremental bazel-bin/examples/kotlin/hello_world/hello_envoy_kt.apk | |
"${ANDROID_HOME}"/platform-tools/adb shell am start -n io.envoyproxy.envoymobile.helloenvoykotlin/.MainActivity | |
- name: 'Check connectivity' | |
run: | | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat -e "received headers with status 200" -m 1 || { | |
echo "Failed checking for headers in adb logcat" >&2 | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat || { | |
echo "Failed dumping adb logcat" >&2 | |
} | |
exit 1 | |
} | |
kotlinbaselineapp: | |
if: ${{ needs.env.outputs.mobile_android_build_all == 'true' }} | |
needs: | |
- env | |
- androidbuild | |
permissions: | |
contents: read | |
packages: read | |
name: kotlin_baseline_app | |
runs-on: envoy-x64-small | |
timeout-minutes: 50 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 | |
with: | |
java-version: '11' | |
java-package: jdk | |
architecture: x64 | |
distribution: zulu | |
- name: 'Install dependencies' | |
run: | | |
cd mobile | |
./ci/linux_ci_setup.sh | |
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ | |
- name: Enable KVM group permissions | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd | |
name: 'Start emulator' | |
with: | |
timeout_minutes: 15 | |
max_attempts: 1 | |
command: ./mobile/ci/start_android_emulator.sh | |
# Return to using: | |
# ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt | |
# When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. | |
- name: 'Start Kotlin app' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd mobile | |
./bazelw build \ | |
--config=mobile-remote-release-clang \ | |
--fat_apk_cpu=x86_64 \ | |
--linkopt=-fuse-ld=lld \ | |
//test/kotlin/apps/baseline:hello_envoy_kt | |
"${ANDROID_HOME}"/platform-tools/adb install -r --no-incremental bazel-bin/test/kotlin/apps/baseline/hello_envoy_kt.apk | |
"${ANDROID_HOME}"/platform-tools/adb shell am start -n io.envoyproxy.envoymobile.helloenvoybaselinetest/.MainActivity | |
- name: 'Check connectivity' | |
run: | | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat -e "received headers with status 301" -m 1 || { | |
echo "Failed checking for headers in adb logcat" >&2 | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat || { | |
echo "Failed dumping adb logcat" >&2 | |
} | |
exit 1 | |
} | |
kotlinexperimentalapp: | |
if: ${{ needs.env.outputs.mobile_android_build_all == 'true' }} | |
needs: | |
- env | |
- androidbuild | |
permissions: | |
contents: read | |
packages: read | |
name: kotlin_experimental_app | |
runs-on: envoy-x64-small | |
timeout-minutes: 50 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 | |
with: | |
java-version: '11' | |
java-package: jdk | |
architecture: x64 | |
distribution: zulu | |
- name: 'Install dependencies' | |
run: | | |
cd mobile | |
./ci/linux_ci_setup.sh | |
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ | |
- name: Enable KVM group permissions | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd | |
name: 'Start emulator' | |
with: | |
timeout_minutes: 15 | |
max_attempts: 1 | |
command: ./mobile/ci/start_android_emulator.sh | |
# Return to using: | |
# ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt | |
# When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. | |
- name: 'Start Kotlin app' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd mobile | |
./bazelw build \ | |
--config=mobile-remote-release-clang \ | |
--fat_apk_cpu=x86_64 \ | |
--linkopt=-fuse-ld=lld \ | |
//test/kotlin/apps/experimental:hello_envoy_kt | |
"${ANDROID_HOME}"/platform-tools/adb install -r --no-incremental bazel-bin/test/kotlin/apps/experimental/hello_envoy_kt.apk | |
"${ANDROID_HOME}"/platform-tools/adb shell am start -n io.envoyproxy.envoymobile.helloenvoyexperimentaltest/.MainActivity | |
- name: 'Check connectivity' | |
run: | | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat -e "received headers with status 200" -m 1 || { | |
echo "Failed checking for headers in adb logcat" >&2 | |
timeout 30 "${ANDROID_HOME}"/platform-tools/adb logcat || { | |
echo "Failed dumping adb logcat" >&2 | |
} | |
exit 1 | |
} |