Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,5 @@ build:release-android --compilation_mode=opt

# Instrument Envoy Mobile's c++ code for coverage
build:coverage --instrumentation_filter="//library/common[/:]"
build:coverage --host_javabase=@bazel_tools//tools/jdk:remote_jdk11
build:coverage --javabase=@bazel_tools//tools/jdk:remote_jdk11
54 changes: 17 additions & 37 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,6 @@ on:
pull_request:

jobs:
linuxdist:
name: linux_dist
runs-on: ubuntu-18.04
timeout-minutes: 90
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- name: 'Build envoy.aar distributable'
run: |
export PATH=/usr/lib/llvm-10/bin:$PATH
export CC=clang
export CXX=clang++
export ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk-bundle
bazelisk build --fat_apk_cpu=x86 //:android_dist_ci
# TODO: parallelize these two jobs
- name: 'Build Java app'
run: |
export ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk-bundle
bazelisk build --fat_apk_cpu=x86 //examples/java/hello_world:hello_envoy
- name: 'Build kotlin app'
run: |
export ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk-bundle
bazelisk build --fat_apk_cpu=x86 //examples/kotlin/hello_world:hello_envoy_kt
macdist:
name: mac_dist
runs-on: macOS-latest
Expand All @@ -50,7 +24,7 @@ jobs:
name: 'Install dependencies'
- name: 'Build envoy.aar distributable'
run: bazelisk build --fat_apk_cpu=x86 //:android_dist_ci
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: envoy.aar
path: dist/envoy.aar
Expand All @@ -70,7 +44,7 @@ jobs:
architecture: x64
- run: ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- uses: actions/download-artifact@v1
- uses: actions/download-artifact@v2
with:
name: envoy.aar
path: dist/
Expand Down Expand Up @@ -103,7 +77,7 @@ jobs:
architecture: x64
- run: ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- uses: actions/download-artifact@v1
- uses: actions/download-artifact@v2
with:
name: envoy.aar
path: dist/
Expand All @@ -122,25 +96,31 @@ jobs:
name: 'Check liveliness'
kotlintests:
name: kotlin_tests
runs-on: ubuntu-18.04
runs-on: macOS-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- run: bazelisk test --test_output=all --build_tests_only //library/kotlin/test/...
- uses: actions/setup-java@v1
with:
java-version: '8'
java-package: jdk
architecture: x64
- run: bazel test --test_output=all --build_tests_only //library/kotlin/test/...
name: 'Run Kotlin library tests'
javatests:
name: java_tests
runs-on: ubuntu-18.04
runs-on: macOS-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- run: bazelisk test --test_output=all --build_tests_only //library/java/test/...
- uses: actions/setup-java@v1
with:
java-version: '8'
java-package: jdk
architecture: x64
- run: bazel test --test_output=all --build_tests_only //library/java/test/...
name: 'Run Java library tests'
23 changes: 12 additions & 11 deletions .github/workflows/artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,28 @@ on:
jobs:
main_android_dist_ci:
name: main_android_dist_ci
runs-on: ubuntu-18.04
runs-on: macOS-latest
timeout-minutes: 120
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- uses: actions/setup-java@v1
with:
java-version: '8'
java-package: jdk
architecture: x64
- run: ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Build envoy.aar distributable'
run: |
export PATH=/usr/lib/llvm-10/bin:$PATH
export CC=clang
export CXX=clang++
export ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk-bundle
current_short_commit=$(git rev-parse --short HEAD)
bazelisk build \
--config=release-android \
--fat_apk_cpu=x86,armeabi-v7a,arm64-v8a \
--define=pom_version=main-$current_short_commit \
//:android_dist_ci
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: envoy_android_aar_sources
path: bazel-bin/envoy_mobile.zip
Expand All @@ -50,7 +51,7 @@ jobs:
run: mkdir -p dist/ios_artifact/Envoy.framework
- name: 'Move artifact to directory for zipping'
run: mv dist/Envoy.framework/* dist/ios_artifact/Envoy.framework
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: envoy_ios_framework
path: dist/ios_artifact
Expand All @@ -65,7 +66,7 @@ jobs:
submodules: true
- name: 'Install dependencies'
run: ./ci/mac_ci_setup.sh
- uses: actions/download-artifact@v1
- uses: actions/download-artifact@v2
with:
name: envoy_ios_framework
path: dist/envoy_ios_cocoapods
Expand All @@ -75,7 +76,7 @@ jobs:
run: mkdir -p dist/envoy_ios_cocoapods/Envoy.framework/Swift
- name: 'Create empty Swift file to force Swift libraries to link properly'
run: touch dist/envoy_ios_cocoapods/Envoy.framework/Swift/Empty.swift
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: envoy_ios_cocoapods
path: dist/envoy_ios_cocoapods
27 changes: 13 additions & 14 deletions .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,31 +23,30 @@ jobs:
name: tsan
runs-on: ubuntu-18.04
timeout-minutes: 90
container:
image: envoyproxy/envoy-build-ubuntu:11efa5680d987fff33fde4af3cc5ece105015d04
env:
CC: /opt/llvm/bin/clang
CXX: /opt/llvm/bin/clang++
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- run: echo $PATH
- name: 'Run tests'
run: |
export PATH=/usr/lib/llvm-10/bin:$PATH
export CC=clang
export CXX=clang++
bazelisk test --config=clang-tsan --test_output=all //test/...
run: bazel test --config=clang-tsan --test_output=all --test_env=ENVOY_IP_TEST_VERSIONS=v4only //test/...
asan:
name: asan
runs-on: ubuntu-18.04
timeout-minutes: 120
container:
image: envoyproxy/envoy-build-ubuntu:11efa5680d987fff33fde4af3cc5ece105015d04
env:
CC: /opt/llvm/bin/clang
CXX: /opt/llvm/bin/clang++
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- name: 'Run tests'
run: |
export PATH=/usr/lib/llvm-10/bin:$PATH
export CC=clang
export CXX=clang++
bazelisk test --config=clang-asan --test_output=all //test/...
run: bazel test --config=clang-asan --test_output=all --test_env=ENVOY_IP_TEST_VERSIONS=v4only //test/...
18 changes: 9 additions & 9 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@ jobs:
name: coverage
runs-on: ubuntu-18.04
timeout-minutes: 120
container:
image: envoyproxy/envoy-build-ubuntu:11efa5680d987fff33fde4af3cc5ece105015d04
env:
BAZEL_BUILD_OPTIONS: "--test_env=ENVOY_IP_TEST_VERSIONS=v4only"
CC: /opt/llvm/bin/clang
CXX: /opt/llvm/bin/clang++
COVERAGE_THRESHOLD: 95
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- name: 'Run coverage'
continue-on-error: true
run: |
export PATH=/usr/lib/llvm-10/bin:$PATH
export CC=clang
export CXX=clang++
export COVERAGE_THRESHOLD=95
./envoy/test/run_envoy_bazel_coverage.sh //test/...
run: "PATH=/opt/llvm/bin:${PATH} ./envoy/test/run_envoy_bazel_coverage.sh //test/..."
- name: 'package coverage'
run: |
tar -czvf coverage.tar.gz generated/coverage
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: coverage.tar.gz
path: coverage.tar.gz
30 changes: 17 additions & 13 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,18 @@ jobs:
runs-on: ubuntu-18.04
timeout-minutes: 45
container:
image: envoyproxy/envoy-build-ubuntu:04f06115b6ee7cfea74930353fb47a41149cbec3
image: envoyproxy/envoy-build-ubuntu:11efa5680d987fff33fde4af3cc5ece105015d04
env:
CLANG_FORMAT: /opt/llvm/bin/clang-format
BUILDIFIER_BIN: /usr/local/bin/buildifier
BUILDOZER_BIN: /usr/local/bin/buildozer
ENVOY_BAZEL_PREFIX: "@envoy"
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Run formatters'
run: |
export PATH=/opt/llvm/bin:$PATH
export CLANG_FORMAT=clang-format
export BUILDIFIER_BIN=/usr/local/bin/buildifier
export BUILDOZER_BIN=/usr/local/bin/buildozer
export ENVOY_BAZEL_PREFIX=@envoy
./tools/check_format.sh
run: ./tools/check_format.sh
precommit:
name: precommit
runs-on: macOS-latest
Expand All @@ -47,19 +46,24 @@ jobs:
run: swiftlint lint --strict
kotlinlint:
name: kotlin_lint
runs-on: ubuntu-18.04
runs-on: macOS-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: 'Install dependencies'
run: ./ci/linux_ci_setup.sh
- uses: actions/setup-java@v1
with:
java-version: '8'
java-package: jdk
architecture: x64
- run: ./ci/mac_ci_setup.sh
name: 'Install dependencies'
- name: 'Run Kotlin Lint (Detekt)'
run: |
bazelisk build \
bazel build \
//library/kotlin/src/io/envoyproxy/envoymobile:envoy_lib_lint \
//examples/kotlin/hello_world:hello_envoy_kt_lint
- name: 'Run Kotlin Formatter (ktlint)'
run: |
bazelisk build kotlin_format
bazel build kotlin_format
6 changes: 3 additions & 3 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: 'Zip Envoy.framework.zip distributable'
run: zip -r dist/Envoy.framework.zip dist/Envoy.framework
- run: ls -lh dist/
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v2
with:
name: Envoy.framework.zip
path: dist/Envoy.framework.zip
Expand All @@ -37,7 +37,7 @@ jobs:
submodules: true
- name: 'Install dependencies'
run: ./ci/mac_ci_setup.sh
- uses: actions/download-artifact@v1
- uses: actions/download-artifact@v2
with:
name: Envoy.framework.zip
path: dist/
Expand All @@ -61,7 +61,7 @@ jobs:
submodules: true
- name: 'Install dependencies'
run: ./ci/mac_ci_setup.sh
- uses: actions/download-artifact@v1
- uses: actions/download-artifact@v2
with:
name: Envoy.framework.zip
path: dist/
Expand Down
Loading