Skip to content

Fix ext_proc fuzzer test issues. #5147

Fix ext_proc fuzzer test issues.

Fix ext_proc fuzzer test issues. #5147

name: ios_build
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
secrets: inherit
iosbuild:
if: ${{ needs.env.outputs.mobile_ios_build == 'true' }}
needs: env
name: ios_build
runs-on: macos-12
timeout-minutes: 120
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build Envoy.framework distributable'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw shutdown
./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//library/swift:ios_framework
swifthelloworld:
if: ${{ needs.env.outputs.mobile_ios_build == 'true' }}
name: swift_helloworld
needs:
- env
- iosbuild
runs-on: macos-12
timeout-minutes: 50
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/swift/hello_world:app
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd
name: 'Start simulator'
with:
timeout_minutes: 5
max_attempts: 3
command: ./mobile/ci/start_ios_simulator.sh
# Run the app in the background and redirect logs.
- name: 'Run app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw run \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/swift/hello_world:app &> /tmp/envoy.log &
- run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log)
name: 'Check connectivity'
- run: cat /tmp/envoy.log
if: ${{ failure() || cancelled() }}
name: 'Log app run'
swiftbaselineapp:
if: ${{ needs.env.outputs.mobile_ios_build_all == 'true' }}
needs:
- env
- iosbuild
name: swift_baseline_app
runs-on: macos-12
timeout-minutes: 50
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//test/swift/apps/baseline:app
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd
name: 'Start simulator'
with:
timeout_minutes: 5
max_attempts: 3
command: ./mobile/ci/start_ios_simulator.sh
# Run the app in the background and redirect logs.
- name: 'Run app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw run \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//test/swift/apps/baseline:app &> /tmp/envoy.log &
- run: sed '/received headers with status 301/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log)
name: 'Check connectivity'
- run: cat /tmp/envoy.log
if: ${{ failure() || cancelled() }}
name: 'Log app run'
swiftexperimentalapp:
if: ${{ needs.env.outputs.mobile_ios_build_all == 'true' }}
needs:
- env
- iosbuild
name: swift_experimental_app
runs-on: macos-12
timeout-minutes: 50
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
--define=admin_functionality=enabled \
--define envoy_mobile_listener=enabled \
//test/swift/apps/experimental:app
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd
name: 'Start simulator'
with:
timeout_minutes: 5
max_attempts: 3
command: ./mobile/ci/start_ios_simulator.sh
# Run the app in the background and redirect logs.
- name: 'Run app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw run \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
--define=admin_functionality=enabled \
--define envoy_mobile_listener=enabled \
//test/swift/apps/experimental:app &> /tmp/envoy.log &
- run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log)
name: 'Check connectivity'
- run: cat /tmp/envoy.log
if: ${{ failure() || cancelled() }}
name: 'Log app run'
swiftasyncawait:
if: ${{ needs.env.outputs.mobile_ios_build_all == 'true' }}
needs:
- env
- iosbuild
name: swift_async_await
runs-on: macos-12
timeout-minutes: 50
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/swift/async_await:app
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd
name: 'Start simulator'
with:
timeout_minutes: 5
max_attempts: 3
command: ./mobile/ci/start_ios_simulator.sh
# Run the app in the background and redirect logs.
- name: 'Run app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw run \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/swift/async_await:app &> /tmp/envoy.log &
- run: |
checklogs () {
sed '/\[2\] Uploaded 7 MB of data/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log)
}
export -f checklogs
# TODO(phlax): figure if this needs this long
timeout 5m bash -c checklogs || {
retcode=$?
if [[ "$retcode" != 124 ]]; then
echo "Command failed" >&2
elif grep -q "Upload failed" /tmp/envoy.log; then
echo "Upload failed" >&2
else
echo "Upload timed out" >&2
fi
exit 1
}
if: steps.should_run.outputs.run_ci_job == 'true'
name: 'Check upload succeeded'
- run: cat /tmp/envoy.log
if: ${{ failure() || cancelled() }}
name: 'Log app run'
objchelloworld:
if: ${{ needs.env.outputs.mobile_ios_build_all == 'true' }}
needs:
- env
- iosbuild
name: objc_helloworld
runs-on: macos-12
timeout-minutes: 50
steps:
- uses: actions/checkout@v3
- run: cd mobile && ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw build \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/objective-c/hello_world:app
- uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd
name: 'Start simulator'
with:
timeout_minutes: 5
max_attempts: 3
command: ./mobile/ci/start_ios_simulator.sh
# Run the app in the background and redirect logs.
- name: 'Run app'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd mobile && ./bazelw run \
--config=ios \
$([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \
//examples/objective-c/hello_world:app &> /tmp/envoy.log &
- run: sed '/received headers with status 301/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log)
name: 'Check connectivity'
- run: cat /tmp/envoy.log
if: ${{ failure() || cancelled() }}
name: 'Log app run'