Browse Source

package/ci: retry Android tests 10x more after a two minute timeout.

Should finally get rid of random CI hangups. No, three time was NOT
enough, and some GL tests/benchmarks need more than 15 seconds.
ktx1-detection
Vladimír Vondruš 4 years ago
parent
commit
4b6248cfb2
  1. 8
      package/ci/android-x86-gles.sh
  2. 7
      package/ci/android-x86-vulkan.sh
  3. 15
      package/ci/circleci.yml

8
package/ci/android-x86-gles.sh

@ -113,7 +113,13 @@ circle-android wait-for-boot
if [[ "$TARGET_GLES2" == "OFF" ]]; then if [[ "$TARGET_GLES2" == "OFF" ]]; then
EXCLUDE_GL_TESTS="-E (GLTest|GLBenchmark)" EXCLUDE_GL_TESTS="-E (GLTest|GLBenchmark)"
fi fi
CORRADE_TEST_COLOR=ON ctest -V $EXCLUDE_GL_TESTS # `adb push` uploads timeout quite often, and then CircleCI waits 10 minutes
# until it aborts the job due to no output. CTest can do timeouts on its own,
# but somehow the default is 10M seconds, which is quite a lot honestly.
# Instead set the timeout to 120 seconds (to account for GL tests), and try ten
# more times if it gets stuck. We're sending quite a few files for shader
# tests, so three isn't enough.
CORRADE_TEST_COLOR=ON ctest -V $EXCLUDE_GL_TESTS --timeout 120 --repeat after-timeout:10
# Test install, after running the tests as for them it shouldn't be needed # Test install, after running the tests as for them it shouldn't be needed
ninja install ninja install

7
package/ci/android-x86-vulkan.sh

@ -101,7 +101,12 @@ ninja $NINJA_JOBS
# Wait for emulator to start (done in parallel to build) and run tests # Wait for emulator to start (done in parallel to build) and run tests
circle-android wait-for-boot circle-android wait-for-boot
CORRADE_TEST_COLOR=ON ctest -V # `adb push` uploads timeout quite often, and then CircleCI waits 10 minutes
# until it aborts the job due to no output. CTest can do timeouts on its own,
# but somehow the default is 10M seconds, which is quite a lot honestly.
# Instead set the timeout to 15 seconds which should be enough even for very
# heavy future benchmarks, and try two more times if it gets stuck.
CORRADE_TEST_COLOR=ON ctest -V --timeout 15 --repeat after-timeout:3
# Test install, after running the tests as for them it shouldn't be needed # Test install, after running the tests as for them it shouldn't be needed
ninja install ninja install

15
package/ci/circleci.yml

@ -568,6 +568,11 @@ jobs:
TARGET_GLES2: "ON" TARGET_GLES2: "ON"
steps: steps:
- install-base-android - install-base-android
# We need ctest --timeout for flaky adb push, which is since 3.17. The
# image had 3.16.3 by default, so it's just a small jump.
- install-cmake:
version: "3.17.5"
sudo: sudo
- build: - build:
script: android-x86-gles.sh script: android-x86-gles.sh
@ -578,6 +583,11 @@ jobs:
TARGET_GLES2: "OFF" TARGET_GLES2: "OFF"
steps: steps:
- install-base-android - install-base-android
# We need ctest --timeout for flaky adb push, which is since 3.17. The
# image had 3.16.3 by default, so it's just a small jump.
- install-cmake:
version: "3.17.5"
sudo: sudo
- build: - build:
script: android-x86-gles.sh script: android-x86-gles.sh
@ -585,6 +595,11 @@ jobs:
executor: android-29 executor: android-29
steps: steps:
- install-base-android - install-base-android
# We need ctest --timeout for flaky adb push, which is since 3.17. The
# image had 3.16.3 by default, so it's just a small jump.
- install-cmake:
version: "3.17.5"
sudo: sudo
- build: - build:
script: android-x86-vulkan.sh script: android-x86-vulkan.sh

Loading…
Cancel
Save