From 668faacb842da9a2cbc37c76823cfa1c43c0f9af Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 09:38:32 -0400 Subject: [PATCH 01/14] First cut at implementing CI with GitHub Actions --- .github/workflows/c-cpp.yml | 156 ++++++++++++++++++++++++++++++++++++ ci/do_ci.ps1 | 2 +- 2 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/c-cpp.yml diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 0000000000..a584f0b946 --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,156 @@ +name: C++ CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + + cmake_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh + - name: run tests + run: ./ci/do_ci.sh cmake.test + + plugin_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh + - name: run tests + run: ./ci/do_ci.sh cmake.test_example_plugin + + gcc_48_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh ./ci/install_gcc48.sh + - name: run tests + run: ./ci/do_ci.sh bazel.legacy.test + + bazel_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.test + + bazel_noexcept: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.noexcept + + bazel_asan: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.asan + + bazel_tsan: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.tsan + + benchmark: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh benchmark + + + format: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: setup + run: sudo ./ci/install_format_tools.sh + - name: run tests + run: ./ci/do_ci.sh bazel.test + + osx_test: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + - name: run tests + run: ./ci/do_ci.sh bazel.test + + windows: + + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v2 + - name: setup + run: ./ci/setup_windows_cmake.ps1 ./ci/setup_windows_ci_environment.ps1 ./ci/install_windows_protobuf.ps1 + timeout-minutes: 15 + - name: run cmake test + run: ./ci/do_ci.ps1 cmake.test + - name: run otprotocol test + run: ./ci/do_ci.sh cmake.exporter.otprotocol.test + + windows_bazel: + + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v2 + - name: setup + run: ./ci/install_windows_bazelisk.ps1 + - name: run tests + run: ./ci/do_ci.ps1 bazel.build + + windows_plugin_test: + + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v2 + - name: setup + run: ./ci/setup_windows_cmake.ps1 ./ci/setup_windows_ci_environment.ps1 + - name: run tests + run: ./ci/do_ci.ps1 cmake.test_example_plugin + + diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index 1056225ea2..367d76e080 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -22,7 +22,7 @@ $VCPKG_DIR="$SRC_DIR\vcpkg" switch ($action) { "bazel.build" { - bazel build $BAZEL_OPTIONS -- //... -//api/test/... -//sdk/test/... + bazel build $BAZEL_OPTIONS -- //... //api/test/... //sdk/test/... $exit = $LASTEXITCODE if ($exit -ne 0) { exit $exit From 41344f01f04ad7bc7b2f18b9bc410baca6162784 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 10:05:21 -0400 Subject: [PATCH 02/14] Added descriptive names to each job Also removed the whitespace lines within the jobs. --- .github/workflows/c-cpp.yml | 40 ++++++++++++------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index a584f0b946..7f611e66bf 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -7,11 +7,9 @@ on: branches: [ master ] jobs: - cmake_test: - + name: Build with CMake, then run tests runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -20,9 +18,8 @@ jobs: run: ./ci/do_ci.sh cmake.test plugin_test: - + name: Statically link a plugin library, then build using CMake runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -31,9 +28,8 @@ jobs: run: ./ci/do_ci.sh cmake.test_example_plugin gcc_48_test: - + name: Build using legacy version of Bazel runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -42,9 +38,8 @@ jobs: run: ./ci/do_ci.sh bazel.legacy.test bazel_test: - + name: Build with Bazel runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -53,9 +48,8 @@ jobs: run: ./ci/do_ci.sh bazel.test bazel_noexcept: - + name: Build with Bazel with no-exceptions flag set runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -64,9 +58,8 @@ jobs: run: ./ci/do_ci.sh bazel.noexcept bazel_asan: - + name: Build with Bazel with "asan" config runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -75,9 +68,8 @@ jobs: run: ./ci/do_ci.sh bazel.asan bazel_tsan: - + name: Build with Bazel with "tsan" config runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -86,9 +78,8 @@ jobs: run: ./ci/do_ci.sh bazel.tsan benchmark: - + name: Run benchmarks runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -98,9 +89,8 @@ jobs: format: - + name: Run format tool runs-on: ubuntu-latest - steps: - uses: actions/checkout@v2 - name: setup @@ -109,18 +99,16 @@ jobs: run: ./ci/do_ci.sh bazel.test osx_test: - + name: Build with Bazel on MacOS runner runs-on: macos-latest - steps: - uses: actions/checkout@v2 - name: run tests run: ./ci/do_ci.sh bazel.test windows: - + name: Build with CMake, run tests, then test exporter protocol on Windows runner runs-on: windows-2019 - steps: - uses: actions/checkout@v2 - name: setup @@ -132,9 +120,8 @@ jobs: run: ./ci/do_ci.sh cmake.exporter.otprotocol.test windows_bazel: - + name: Build with Bazel on Windows runner runs-on: windows-2019 - steps: - uses: actions/checkout@v2 - name: setup @@ -143,9 +130,8 @@ jobs: run: ./ci/do_ci.ps1 bazel.build windows_plugin_test: - + name: Statically link a plugin library, then build using CMake on Windows runner runs-on: windows-2019 - steps: - uses: actions/checkout@v2 - name: setup From 114a0a3c82c667d0dd96c1353aa1b6e87e02d6a0 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 11:11:55 -0400 Subject: [PATCH 03/14] Moved multiple run commands in single job to different lines. This fixes an issue with the Windows jobs not running multiple executables in the same line. --- .github/workflows/c-cpp.yml | 47 +++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 7f611e66bf..2661d5bc4f 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -13,7 +13,9 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh - name: run tests run: ./ci/do_ci.sh cmake.test @@ -23,7 +25,9 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh - name: run tests run: ./ci/do_ci.sh cmake.test_example_plugin @@ -33,7 +37,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh ./ci/install_gcc48.sh + run: | + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh + sudo ./ci/install_gcc48.sh - name: run tests run: ./ci/do_ci.sh bazel.legacy.test @@ -43,7 +50,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.test @@ -53,7 +63,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.noexcept @@ -63,7 +76,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.asan @@ -73,7 +89,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.tsan @@ -83,7 +102,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: sudo ./ci/setup_cmake.sh ./ci/setup_ci_environment.sh ./ci/install_bazelisk.sh + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh benchmark @@ -112,7 +134,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: ./ci/setup_windows_cmake.ps1 ./ci/setup_windows_ci_environment.ps1 ./ci/install_windows_protobuf.ps1 + run: | + ./ci/setup_windows_cmake.ps1 + ./ci/setup_windows_ci_environment.ps1 + ./ci/install_windows_protobuf.ps1 timeout-minutes: 15 - name: run cmake test run: ./ci/do_ci.ps1 cmake.test @@ -135,7 +160,9 @@ jobs: steps: - uses: actions/checkout@v2 - name: setup - run: ./ci/setup_windows_cmake.ps1 ./ci/setup_windows_ci_environment.ps1 + run: | + ./ci/setup_windows_cmake.ps1 + ./ci/setup_windows_ci_environment.ps1 - name: run tests run: ./ci/do_ci.ps1 cmake.test_example_plugin From 433822f90e37bed6abc5e9e810b6b9340717d58f Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 11:24:24 -0400 Subject: [PATCH 04/14] Fixed format job's run executable Was mistakenly executing bazel.build test when it should be running the format tool. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2661d5bc4f..3e0929d7a2 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -118,7 +118,7 @@ jobs: - name: setup run: sudo ./ci/install_format_tools.sh - name: run tests - run: ./ci/do_ci.sh bazel.test + run: ./ci/do_ci.sh format osx_test: name: Build with Bazel on MacOS runner From 6c8e9f051812daa5c99c7a500f177179791bb65d Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 11:38:13 -0400 Subject: [PATCH 05/14] Fix formatting errors --- .github/workflows/c-cpp.yml | 40 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3e0929d7a2..d51365d342 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh + sudo ./ci/setup_cmake.sh sudo ./ci/setup_ci_environment.sh - name: run tests run: ./ci/do_ci.sh cmake.test @@ -26,11 +26,11 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh + sudo ./ci/setup_cmake.sh sudo ./ci/setup_ci_environment.sh - name: run tests run: ./ci/do_ci.sh cmake.test_example_plugin - + gcc_48_test: name: Build using legacy version of Bazel runs-on: ubuntu-latest @@ -38,12 +38,12 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_ci_environment.sh - sudo ./ci/install_bazelisk.sh + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh sudo ./ci/install_gcc48.sh - name: run tests run: ./ci/do_ci.sh bazel.legacy.test - + bazel_test: name: Build with Bazel runs-on: ubuntu-latest @@ -51,8 +51,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh - sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.test @@ -64,8 +64,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh - sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.noexcept @@ -77,8 +77,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh - sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.asan @@ -90,8 +90,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh - sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh bazel.tsan @@ -103,8 +103,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - sudo ./ci/setup_cmake.sh - sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests run: ./ci/do_ci.sh benchmark @@ -135,8 +135,8 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - ./ci/setup_windows_cmake.ps1 - ./ci/setup_windows_ci_environment.ps1 + ./ci/setup_windows_cmake.ps1 + ./ci/setup_windows_ci_environment.ps1 ./ci/install_windows_protobuf.ps1 timeout-minutes: 15 - name: run cmake test @@ -161,9 +161,9 @@ jobs: - uses: actions/checkout@v2 - name: setup run: | - ./ci/setup_windows_cmake.ps1 + ./ci/setup_windows_cmake.ps1 ./ci/setup_windows_ci_environment.ps1 - name: run tests run: ./ci/do_ci.ps1 cmake.test_example_plugin - + From 2825dcc2d6ca849a243ec8b5b99b8a101910d8ca Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Thu, 11 Jun 2020 13:41:22 -0400 Subject: [PATCH 06/14] Split Windows job into two --- .github/workflows/c-cpp.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d51365d342..62bcb35314 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -128,19 +128,29 @@ jobs: - name: run tests run: ./ci/do_ci.sh bazel.test - windows: - name: Build with CMake, run tests, then test exporter protocol on Windows runner + windows_cmake_test: + name: Build with CMake then run tests on Windows runner runs-on: windows-2019 steps: - uses: actions/checkout@v2 - name: setup run: | - ./ci/setup_windows_cmake.ps1 - ./ci/setup_windows_ci_environment.ps1 - ./ci/install_windows_protobuf.ps1 - timeout-minutes: 15 + .\ci\setup_windows_cmake.ps1 + .\ci\setup_windows_ci_environment.ps1 - name: run cmake test run: ./ci/do_ci.ps1 cmake.test + + windows_otprotocol_test: + name: Build with CMake, then test exporter protocol on Windows runner + runs-on: windows-2019 + steps: + - uses: actions/checkout@v2 + - name: setup + run: | + .\ci\setup_windows_cmake.ps1 + .\ci\setup_windows_ci_environment.ps1 + .\ci\install_windows_protobuf.ps1 + timeout-minutes: 15 - name: run otprotocol test run: ./ci/do_ci.sh cmake.exporter.otprotocol.test @@ -165,5 +175,3 @@ jobs: ./ci/setup_windows_ci_environment.ps1 - name: run tests run: ./ci/do_ci.ps1 cmake.test_example_plugin - - From ccf12a4c46868337bf1f595a8b7853fbb8239570 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Fri, 12 Jun 2020 10:25:30 -0400 Subject: [PATCH 07/14] Updated benchmark job to upload report --- .github/workflows/c-cpp.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 62bcb35314..03f43421b5 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -107,8 +107,14 @@ jobs: sudo ./ci/setup_ci_environment.sh sudo ./ci/install_bazelisk.sh - name: run tests - run: ./ci/do_ci.sh benchmark - + run: | + env BENCHMARK_DIR=/benchmark + ./ci/do_ci.sh benchmark + - name: Upload benchmark results + uses: actions/upload-artifact@v2 + with: + name: benchmark_reports + path: /home/runner/benchmark format: name: Run format tool From 8dbf98aedac7b22835b1dc68c220942967e75325 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Fri, 12 Jun 2020 10:28:33 -0400 Subject: [PATCH 08/14] Normalize file endings according to .gitattributes This should stop the format CI job always failing. --- ci/do_ci.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/do_ci.sh b/ci/do_ci.sh index 6b3205843b..f80ca7d749 100755 --- a/ci/do_ci.sh +++ b/ci/do_ci.sh @@ -97,6 +97,8 @@ elif [[ "$1" == "benchmark" ]]; then exit 0 elif [[ "$1" == "format" ]]; then tools/format.sh + # normalize file endings according to .gitattributes + git add --renormalize . CHANGED="$(git ls-files --modified)" if [[ ! -z "$CHANGED" ]]; then echo "The following files have changes:" From 2a2cc1e25f144fc4b72ac42e3e99380c23ad3ff1 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Fri, 12 Jun 2020 10:30:27 -0400 Subject: [PATCH 09/14] Push and pop vcpkg location instead of cd'ing into the directory This fixes the Windows job from always failing. --- ci/setup_windows_ci_environment.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/setup_windows_ci_environment.ps1 b/ci/setup_windows_ci_environment.ps1 index a1b1b89d9c..a2134646ea 100755 --- a/ci/setup_windows_ci_environment.ps1 +++ b/ci/setup_windows_ci_environment.ps1 @@ -2,9 +2,10 @@ $ErrorActionPreference = "Stop" trap { $host.SetShouldExit(1) } git clone https://github.com/Microsoft/vcpkg.git -cd vcpkg +Push-Location -Path vcpkg $VCPKG_DIR=(Get-Item -Path ".\").FullName ./bootstrap-vcpkg.bat ./vcpkg integrate install ./vcpkg install benchmark:x64-windows ./vcpkg install gtest:x64-windows +Pop-Location From 08e10c73de097f8a1575cc8f485984bdc79409cf Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Fri, 12 Jun 2020 10:31:41 -0400 Subject: [PATCH 10/14] Recombined Windows CI job Was split up earlier due to one of the jobs always resulting in a failure. --- .github/workflows/c-cpp.yml | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 03f43421b5..f0598262d0 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -134,31 +134,20 @@ jobs: - name: run tests run: ./ci/do_ci.sh bazel.test - windows_cmake_test: - name: Build with CMake then run tests on Windows runner + windows: + name: Build with CMake, run CMake tests, test exporter protocol on Windows runner runs-on: windows-2019 steps: - uses: actions/checkout@v2 - name: setup run: | - .\ci\setup_windows_cmake.ps1 - .\ci\setup_windows_ci_environment.ps1 + ./ci/setup_windows_cmake.ps1 + ./ci/setup_windows_ci_environment.ps1 + ./ci/install_windows_protobuf.ps1 - name: run cmake test run: ./ci/do_ci.ps1 cmake.test - - windows_otprotocol_test: - name: Build with CMake, then test exporter protocol on Windows runner - runs-on: windows-2019 - steps: - - uses: actions/checkout@v2 - - name: setup - run: | - .\ci\setup_windows_cmake.ps1 - .\ci\setup_windows_ci_environment.ps1 - .\ci\install_windows_protobuf.ps1 - timeout-minutes: 15 - name: run otprotocol test - run: ./ci/do_ci.sh cmake.exporter.otprotocol.test + run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.test windows_bazel: name: Build with Bazel on Windows runner From 7b2aaf09f7f770fbcae62c2a3fef5dfc77a0f666 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Fri, 12 Jun 2020 20:18:26 -0400 Subject: [PATCH 11/14] Changed workflow name from "C++ CI" to "CI" --- .github/workflows/{c-cpp.yml => ci.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{c-cpp.yml => ci.yml} (99%) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/ci.yml similarity index 99% rename from .github/workflows/c-cpp.yml rename to .github/workflows/ci.yml index f0598262d0..a65e4d93e0 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: C++ CI +name: CI on: push: From b72474ed2439794be085d1addd791f925800e1ad Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Sun, 14 Jun 2020 17:39:32 -0400 Subject: [PATCH 12/14] Shortened job names --- .github/workflows/ci.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a65e4d93e0..f9f0a2a78c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ on: jobs: cmake_test: - name: Build with CMake, then run tests + name: CMake test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -20,7 +20,7 @@ jobs: run: ./ci/do_ci.sh cmake.test plugin_test: - name: Statically link a plugin library, then build using CMake + name: Plugin -> CMake test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -32,7 +32,7 @@ jobs: run: ./ci/do_ci.sh cmake.test_example_plugin gcc_48_test: - name: Build using legacy version of Bazel + name: Legacy Bazel runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -45,7 +45,7 @@ jobs: run: ./ci/do_ci.sh bazel.legacy.test bazel_test: - name: Build with Bazel + name: Bazel runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -58,7 +58,7 @@ jobs: run: ./ci/do_ci.sh bazel.test bazel_noexcept: - name: Build with Bazel with no-exceptions flag set + name: Bazel noexcept runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -71,7 +71,7 @@ jobs: run: ./ci/do_ci.sh bazel.noexcept bazel_asan: - name: Build with Bazel with "asan" config + name: Bazel asan config runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -84,7 +84,7 @@ jobs: run: ./ci/do_ci.sh bazel.asan bazel_tsan: - name: Build with Bazel with "tsan" config + name: Bazel tsan config runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -97,7 +97,7 @@ jobs: run: ./ci/do_ci.sh bazel.tsan benchmark: - name: Run benchmarks + name: Benchmark runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -117,7 +117,7 @@ jobs: path: /home/runner/benchmark format: - name: Run format tool + name: Format runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -127,7 +127,7 @@ jobs: run: ./ci/do_ci.sh format osx_test: - name: Build with Bazel on MacOS runner + name: Bazel on MacOS runs-on: macos-latest steps: - uses: actions/checkout@v2 @@ -135,7 +135,7 @@ jobs: run: ./ci/do_ci.sh bazel.test windows: - name: Build with CMake, run CMake tests, test exporter protocol on Windows runner + name: CMake test -> exporter test runs-on: windows-2019 steps: - uses: actions/checkout@v2 @@ -150,7 +150,7 @@ jobs: run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.test windows_bazel: - name: Build with Bazel on Windows runner + name: Bazel Windows runs-on: windows-2019 steps: - uses: actions/checkout@v2 @@ -160,7 +160,7 @@ jobs: run: ./ci/do_ci.ps1 bazel.build windows_plugin_test: - name: Statically link a plugin library, then build using CMake on Windows runner + name: Plugin -> CMake test Windows runs-on: windows-2019 steps: - uses: actions/checkout@v2 From 941d015e5022c88592fe5bcae80acaefa247427c Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Sun, 14 Jun 2020 17:41:36 -0400 Subject: [PATCH 13/14] Shortened job names ...again. Some jobs were still not displaying the full name on the GitHub Actions UI. --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9f0a2a78c..ceee86a761 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: run: ./ci/do_ci.sh cmake.test plugin_test: - name: Plugin -> CMake test + name: Plugin -> CMake runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -135,7 +135,7 @@ jobs: run: ./ci/do_ci.sh bazel.test windows: - name: CMake test -> exporter test + name: CMake -> exporter proto runs-on: windows-2019 steps: - uses: actions/checkout@v2 @@ -160,7 +160,7 @@ jobs: run: ./ci/do_ci.ps1 bazel.build windows_plugin_test: - name: Plugin -> CMake test Windows + name: Plugin -> CMake Windows runs-on: windows-2019 steps: - uses: actions/checkout@v2 From bb3b358f64a29abf3244054b5537786d8a89a2a8 Mon Sep 17 00:00:00 2001 From: Brandon Kimberly Date: Mon, 15 Jun 2020 09:38:19 -0400 Subject: [PATCH 14/14] gcc48 test runs on ubuntu 18.04 Was previously set to run on Ubuntu latest but Ubuntu 20.04 does not support GCC 48. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ceee86a761..0ddda0f986 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: gcc_48_test: name: Legacy Bazel - runs-on: ubuntu-latest + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 - name: setup