From c8468bda97aaa58a43424f1862a4a899b1a0bac6 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 16:42:22 -0400 Subject: [PATCH 01/67] Fix codespell typo in RDMCommand --- common/rdm/RDMCommand.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/rdm/RDMCommand.cpp b/common/rdm/RDMCommand.cpp index eb5ab0dfab..2f6874edfa 100644 --- a/common/rdm/RDMCommand.cpp +++ b/common/rdm/RDMCommand.cpp @@ -207,7 +207,7 @@ RDMStatusCode RDMCommand::VerifyData(const uint8_t *data, sizeof(*command_header)); if (command_header->sub_start_code != SUB_START_CODE) { - OLA_WARN << "Sub start code mis match, was 0x" << std::hex << + OLA_WARN << "Sub start code mismatch, was 0x" << std::hex << static_cast(command_header->sub_start_code) << ", required 0x" << static_cast(SUB_START_CODE); return RDM_WRONG_SUB_START_CODE; From 97d52b49e8de6ef1f55e62d8252a179bf571f49b Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 20:58:04 -0500 Subject: [PATCH 02/67] initial distcheck --- .github/workflows/build.yaml | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000000..1c44318c2e --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,46 @@ +name: build +on: [push, pull_request] +jobs: + distcheck: + name: Distcheck + runs-on: ubuntu-latest + container: debian:stable + steps: + - name: Update package database + run: apt-get update -y + # See comments beginning at + # https://github.com/actions/runner/issues/763#issuecomment-1435474884 + # Without Git, actions/checkout@v3 will resort to REST and will not + # create a .git folder or .git.config. The Problem Matcher looks for + # .git/config to find where the root of the repo is, so it must be + # present. + - name: Install Git + run: apt-get -y install git + - uses: actions/checkout@v3 + - name: Install build tools + shell: bash + run: | + apt-get -y install pkg-config libtool autoconf \ + automake g++ bison flex make bash-completion dh-autoreconf \ + debhelper devscripts wget python3-pip + - name: Install build dependencies + shell: bash + run: | + apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \ + libmicrohttpd-dev protobuf-compiler python3-protobuf \ + libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ + libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy + - name: Autoreconf + run: autoreconf -i + - name: Set configure arguments + run: | + echo "GH_OLA_CONFIGURE_ARGS=\"--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133\"" >> $GITHUB_ENV + - name: Set additional Linux configure arguments + if: runner.os == 'Linux' + # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long + run: | + echo "GH_OLA_CONFIGURE_ARGS=\"$GH_OLA_CONFIGURE_ARGS CPPFLAGS=-Wno-deprecated-declarations\"" >> $GITHUB_ENV + - name: Configure + run: ./configure $GH_OLA_CONFIGURE_ARGS + - name: Distcheck + run: make distcheck VERBOSE=1 From 1dfd6b8ac1880e450d0a5b47e9c74cc9e293eab9 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:05:46 -0500 Subject: [PATCH 03/67] initial distcheck typo --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1c44318c2e..8e8bc1afdb 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -34,12 +34,12 @@ jobs: run: autoreconf -i - name: Set configure arguments run: | - echo "GH_OLA_CONFIGURE_ARGS=\"--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133\"" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS="--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long run: | - echo "GH_OLA_CONFIGURE_ARGS=\"$GH_OLA_CONFIGURE_ARGS CPPFLAGS=-Wno-deprecated-declarations\"" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=$GH_OLA_CONFIGURE_ARGS CPPFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - name: Distcheck From a17fe966f01e9276a10cb3c4adbfb7bda3f7ff17 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:07:46 -0500 Subject: [PATCH 04/67] initial distcheck typo again --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8e8bc1afdb..8bb8d57f28 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -34,7 +34,7 @@ jobs: run: autoreconf -i - name: Set configure arguments run: | - echo "GH_OLA_CONFIGURE_ARGS="--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From e7808b41dc802ab80da7606fd760f6eb24a37d79 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:14:07 -0500 Subject: [PATCH 05/67] print configure command, install javacc --- .github/workflows/build.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8bb8d57f28..a0ac1c8e83 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -29,7 +29,8 @@ jobs: apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \ libmicrohttpd-dev protobuf-compiler python3-protobuf \ libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ - libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy + libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ + javacc - name: Autoreconf run: autoreconf -i - name: Set configure arguments @@ -40,6 +41,8 @@ jobs: # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long run: | echo "GH_OLA_CONFIGURE_ARGS=$GH_OLA_CONFIGURE_ARGS CPPFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV + - name: Print configure command + run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - name: Distcheck From e1b00bd0c39f272b8b09c270b216c38f7b6ce3c7 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:19:25 -0500 Subject: [PATCH 06/67] gh actions install jdk --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a0ac1c8e83..51af2e15d5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -30,7 +30,7 @@ jobs: libmicrohttpd-dev protobuf-compiler python3-protobuf \ libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ - javacc + default-jdk-headless - name: Autoreconf run: autoreconf -i - name: Set configure arguments From 4303b76383a08d31ebe93657201419387f788d7f Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:49:06 -0500 Subject: [PATCH 07/67] gh actions build install maven, clang and gcc, upload artifacts --- .github/workflows/build.yaml | 44 ++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 51af2e15d5..e41b023f8d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,10 +2,21 @@ name: build on: [push, pull_request] jobs: distcheck: - name: Distcheck + name: "distcheck {{ matrix.id }}" runs-on: ubuntu-latest container: debian:stable + strategy: + fail-fast: false + matrix: + include: + - { id: debian:stable-amd64-gcc, compiler: { cc: "gcc", cxx: "g++" }} + - { id: debian:stable-amd64-clang, compiler: { cc: "clang", cxx: "clang++" }} + env: + CC: "{{ matrix.compiler.cc }}" + CXX: "{{ matrix.compiler.cxx }}" steps: + - name: Get number of CPU cores + run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT - name: Update package database run: apt-get update -y # See comments beginning at @@ -30,7 +41,7 @@ jobs: libmicrohttpd-dev protobuf-compiler python3-protobuf \ libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ - default-jdk-headless + default-jdk-headless maven - name: Autoreconf run: autoreconf -i - name: Set configure arguments @@ -45,5 +56,30 @@ jobs: run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - - name: Distcheck - run: make distcheck VERBOSE=1 + - name: distcheck + run: make distcheck -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + - name: Display structure of the built files + if: always() && env.ACTIONS_STEP_DEBUG == 'true' + run: ls -alR + - name: Archive artifacts to speed up slow GH Actions upload/download + if: always() + shell: bash + # If the file does not exist when tar excludes it, then it will not + # actually exclude it, so it must first be touched + run: | + touch ola-{{ matrix.id }}-distcheck-source-tree.tar.gz + tar --exclude=ola-{{ matrix.id }}-distcheck-source-tree.tar.gz -cvzf ola-{{ matrix.id }}-distcheck-source-tree.tar.gz . + - name: SHA256 artifact archives + if: always() + run: sha256sum ola-*.tar.gz + - uses: actions/upload-artifact@v3 + if: always() + with: + name: ola-{{ matrix.id }}-distcheck-source-tree + path: ola-{{ matrix.id }}-distcheck-source-tree.tar.gz + - uses: actions/upload-artifact@v3 + with: + name: ola-{{ matrix.id }}-distcheck + path: | + ola-*.tar.gz + !ola-{{ matrix.id }}-distcheck-source-tree.tar.gz From cf6478202d7947f92bf2eec2a6be19853a3490a5 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:50:25 -0500 Subject: [PATCH 08/67] gh actions build install maven, clang and gcc, upload artifacts typo --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e41b023f8d..5895afed15 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,8 +9,8 @@ jobs: fail-fast: false matrix: include: - - { id: debian:stable-amd64-gcc, compiler: { cc: "gcc", cxx: "g++" }} - - { id: debian:stable-amd64-clang, compiler: { cc: "clang", cxx: "clang++" }} + - { id: debian:stable-amd64-gcc, compiler: { cc: "gcc", cxx: "g++" } } + - { id: debian:stable-amd64-clang, compiler: { cc: "clang", cxx: "clang++" } } env: CC: "{{ matrix.compiler.cc }}" CXX: "{{ matrix.compiler.cxx }}" From 8cdf02b2699816c517b43e566290c9c1f5fa16a3 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:51:30 -0500 Subject: [PATCH 09/67] gh actions build install maven, clang and gcc, upload artifacts typo2 --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5895afed15..9de19761b7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,8 +9,8 @@ jobs: fail-fast: false matrix: include: - - { id: debian:stable-amd64-gcc, compiler: { cc: "gcc", cxx: "g++" } } - - { id: debian:stable-amd64-clang, compiler: { cc: "clang", cxx: "clang++" } } + - { id: "debian:stable-amd64-gcc", compiler: { cc: "gcc", cxx: "g++" } } + - { id: "debian:stable-amd64-clang", compiler: { cc: "clang", cxx: "clang++" } } env: CC: "{{ matrix.compiler.cc }}" CXX: "{{ matrix.compiler.cxx }}" From e98c01989b2c5c59c7c7c99b63aa5e56e4d4464b Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:52:54 -0500 Subject: [PATCH 10/67] gh actions build install maven, clang and gcc, upload artifacts typo3 --- .github/workflows/build.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9de19761b7..f25dd17e84 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,7 +2,7 @@ name: build on: [push, pull_request] jobs: distcheck: - name: "distcheck {{ matrix.id }}" + name: "distcheck ${{ matrix.id }}" runs-on: ubuntu-latest container: debian:stable strategy: @@ -67,19 +67,19 @@ jobs: # If the file does not exist when tar excludes it, then it will not # actually exclude it, so it must first be touched run: | - touch ola-{{ matrix.id }}-distcheck-source-tree.tar.gz - tar --exclude=ola-{{ matrix.id }}-distcheck-source-tree.tar.gz -cvzf ola-{{ matrix.id }}-distcheck-source-tree.tar.gz . + touch ola-${{ matrix.id }}-distcheck-source-tree.tar.gz + tar --exclude=ola-${{ matrix.id }}-distcheck-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-distcheck-source-tree.tar.gz . - name: SHA256 artifact archives if: always() run: sha256sum ola-*.tar.gz - uses: actions/upload-artifact@v3 if: always() with: - name: ola-{{ matrix.id }}-distcheck-source-tree - path: ola-{{ matrix.id }}-distcheck-source-tree.tar.gz + name: ola-${{ matrix.id }}-distcheck-source-tree + path: ola-${{ matrix.id }}-distcheck-source-tree.tar.gz - uses: actions/upload-artifact@v3 with: - name: ola-{{ matrix.id }}-distcheck + name: ola-${{ matrix.id }}-distcheck path: | ola-*.tar.gz - !ola-{{ matrix.id }}-distcheck-source-tree.tar.gz + !ola-${{ matrix.id }}-distcheck-source-tree.tar.gz From 6f3fa1f136b6f528308ecdb47114ea5c2f8a8137 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 21:59:52 -0500 Subject: [PATCH 11/67] gh actions build remove colon from build id, install compilers --- .github/workflows/build.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f25dd17e84..5ad36caaea 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,11 +9,11 @@ jobs: fail-fast: false matrix: include: - - { id: "debian:stable-amd64-gcc", compiler: { cc: "gcc", cxx: "g++" } } - - { id: "debian:stable-amd64-clang", compiler: { cc: "clang", cxx: "clang++" } } + - { id: "debian-stable-amd64-gcc", compiler: { CC: "/usr/bin/gcc", CXX: "g++", pkg: "gcc g++" } } + - { id: "debian-stable-amd64-clang", compiler: { CC: "/usr/bin/clang", CXX: "clang++", pkg: "clang" } } env: - CC: "{{ matrix.compiler.cc }}" - CXX: "{{ matrix.compiler.cxx }}" + CC: "{{ matrix.compiler.CC }}" + CXX: "{{ matrix.compiler.CXX }}" steps: - name: Get number of CPU cores run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT @@ -42,6 +42,9 @@ jobs: libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ default-jdk-headless maven + - name: Install compiler + shell: bash + run: apt-get -y install ${{ matrix.compiler.pkg }} - name: Autoreconf run: autoreconf -i - name: Set configure arguments From a42d0a71b790d427ba947dae8560c8aee4617496 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 22:05:12 -0500 Subject: [PATCH 12/67] gh actions build fix cxx compiler, name upload steps --- .github/workflows/build.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5ad36caaea..5f3e63c813 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,8 +9,8 @@ jobs: fail-fast: false matrix: include: - - { id: "debian-stable-amd64-gcc", compiler: { CC: "/usr/bin/gcc", CXX: "g++", pkg: "gcc g++" } } - - { id: "debian-stable-amd64-clang", compiler: { CC: "/usr/bin/clang", CXX: "clang++", pkg: "clang" } } + - { id: "debian-stable-amd64-gcc", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "debian-stable-amd64-clang", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: CC: "{{ matrix.compiler.CC }}" CXX: "{{ matrix.compiler.CXX }}" @@ -75,12 +75,14 @@ jobs: - name: SHA256 artifact archives if: always() run: sha256sum ola-*.tar.gz - - uses: actions/upload-artifact@v3 + - name: Upload source tree artifact + uses: actions/upload-artifact@v3 if: always() with: name: ola-${{ matrix.id }}-distcheck-source-tree path: ola-${{ matrix.id }}-distcheck-source-tree.tar.gz - - uses: actions/upload-artifact@v3 + - name: Upload built artifact + uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }}-distcheck path: | From 975d65eaa33547d2309831a456b741aee4bb52bc Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 22:09:18 -0500 Subject: [PATCH 13/67] gh actions build fix compiler env vars --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5f3e63c813..5b9a2c719e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -12,8 +12,8 @@ jobs: - { id: "debian-stable-amd64-gcc", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - { id: "debian-stable-amd64-clang", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: - CC: "{{ matrix.compiler.CC }}" - CXX: "{{ matrix.compiler.CXX }}" + CC: "${{ matrix.compiler.CC }}" + CXX: "${{ matrix.compiler.CXX }}" steps: - name: Get number of CPU cores run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT From 5f92fdfab45683f254d4bb24b54f6721da19293c Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 5 Mar 2023 22:17:11 -0500 Subject: [PATCH 14/67] gh actions build distcheck verify trees --- .github/workflows/build.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5b9a2c719e..8faf7e60cc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -88,3 +88,12 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-distcheck-source-tree.tar.gz + - name: Install dependencies to verify trees + run: apt-get install -y python-is-python3 + - name: Verify trees + shell: bash + run: | + tarball=$(ls -Ut ola*.tar.gz | head -1) + tar -zxf $tarball; + tarball_root=$(echo $tarball | sed 's/.tar.gz$//') + ./scripts/verify_trees.py ./ $tarball_root From f90e8f23c060f5f1b968fce042244962108d8671 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 7 Mar 2023 10:26:51 -0500 Subject: [PATCH 15/67] gh actions build add job timeout time --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8faf7e60cc..949d9740d7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -5,6 +5,7 @@ jobs: name: "distcheck ${{ matrix.id }}" runs-on: ubuntu-latest container: debian:stable + timeout-minutes: 360 strategy: fail-fast: false matrix: From 30dcc168936fc7cbb2b69f8e6ab3e1930bdfc0a3 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 12 Mar 2023 00:09:16 -0500 Subject: [PATCH 16/67] try ubuntu-20.04 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 949d9740d7..0a1485b6cc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,7 +3,7 @@ on: [push, pull_request] jobs: distcheck: name: "distcheck ${{ matrix.id }}" - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 container: debian:stable timeout-minutes: 360 strategy: From 3dbf9ece4ac4be2c15418bd39eb63847323feac4 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 16:23:01 -0400 Subject: [PATCH 17/67] gh actions build make check instead of distcheck --- .github/workflows/build.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0a1485b6cc..dccff83aa1 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,8 +1,8 @@ name: build on: [push, pull_request] jobs: - distcheck: - name: "distcheck ${{ matrix.id }}" + check: + name: "check ${{ matrix.id }}" runs-on: ubuntu-20.04 container: debian:stable timeout-minutes: 360 @@ -60,8 +60,8 @@ jobs: run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - - name: distcheck - run: make distcheck -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + - name: check + run: make check -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR @@ -71,8 +71,8 @@ jobs: # If the file does not exist when tar excludes it, then it will not # actually exclude it, so it must first be touched run: | - touch ola-${{ matrix.id }}-distcheck-source-tree.tar.gz - tar --exclude=ola-${{ matrix.id }}-distcheck-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-distcheck-source-tree.tar.gz . + touch ola-${{ matrix.id }}-check-source-tree.tar.gz + tar --exclude=ola-${{ matrix.id }}-check-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-check-source-tree.tar.gz . - name: SHA256 artifact archives if: always() run: sha256sum ola-*.tar.gz @@ -80,15 +80,15 @@ jobs: uses: actions/upload-artifact@v3 if: always() with: - name: ola-${{ matrix.id }}-distcheck-source-tree - path: ola-${{ matrix.id }}-distcheck-source-tree.tar.gz + name: ola-${{ matrix.id }}-check-source-tree + path: ola-${{ matrix.id }}-check-source-tree.tar.gz - name: Upload built artifact uses: actions/upload-artifact@v3 with: - name: ola-${{ matrix.id }}-distcheck + name: ola-${{ matrix.id }}-check path: | ola-*.tar.gz - !ola-${{ matrix.id }}-distcheck-source-tree.tar.gz + !ola-${{ matrix.id }}-check-source-tree.tar.gz - name: Install dependencies to verify trees run: apt-get install -y python-is-python3 - name: Verify trees From 32e8ac2cea353ec26217feae79cb3664536a6c9c Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 16:39:03 -0400 Subject: [PATCH 18/67] gh actions build check but without usbdmx --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dccff83aa1..ddf5d27fef 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -49,8 +49,9 @@ jobs: - name: Autoreconf run: autoreconf -i - name: Set configure arguments + # usbdmx may cause GH action build to hang and fail run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133 --disable-usbdmx" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From 7d33bfe49a5e58480eae7636790cc8340b2bd245 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 16:50:53 -0400 Subject: [PATCH 19/67] gh actions build check but without usbpro --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ddf5d27fef..a3ab448b56 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -51,7 +51,7 @@ jobs: - name: Set configure arguments # usbdmx may cause GH action build to hang and fail run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133 --disable-usbdmx" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133 --disable-usbdmx --disable-usbpro" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From 49fb974cb823e87ef3153b7f981c7c684202d1cf Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 17:06:09 -0400 Subject: [PATCH 20/67] gh actions build check disable ja-rule too in order to disable usbdmx --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a3ab448b56..60fd7ff355 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -50,8 +50,9 @@ jobs: run: autoreconf -i - name: Set configure arguments # usbdmx may cause GH action build to hang and fail + # TODO(Perry): re-renable ja-rule and usbdmx run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133 --disable-usbdmx --disable-usbpro" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-e133 --disable-usbdmx" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From 811f5846698d7463db0eaff53c76b5b98291b256 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 17:23:09 -0400 Subject: [PATCH 21/67] gh actions build check disable usbpro again --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 60fd7ff355..35ba1b5665 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -50,9 +50,9 @@ jobs: run: autoreconf -i - name: Set configure arguments # usbdmx may cause GH action build to hang and fail - # TODO(Perry): re-renable ja-rule and usbdmx + # TODO(Perry): re-renable ja-rule, usbdmx, and usbpro run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-e133 --disable-usbdmx" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-e133 --disable-usbdmx --disable-usbpro" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From 53ab71334377e4bcc2a9fe5edaa7f3b92af012c0 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 17:39:39 -0400 Subject: [PATCH 22/67] gh actions build check put back usbdmx, usbpro, and ja-rule but no parallelization --- .github/workflows/build.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 35ba1b5665..4cdbf3e698 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -49,10 +49,8 @@ jobs: - name: Autoreconf run: autoreconf -i - name: Set configure arguments - # usbdmx may cause GH action build to hang and fail - # TODO(Perry): re-renable ja-rule, usbdmx, and usbpro run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-e133 --disable-usbdmx --disable-usbpro" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long @@ -63,7 +61,9 @@ jobs: - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - name: check - run: make check -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + # TODO(Perry): Parallelization causes GH Actions to hang + # run: make check -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + run: make check -j1 VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From e4d23268cb588a496591b4b32af08f593df4dd64 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 18:28:49 -0400 Subject: [PATCH 23/67] gh actions build check run distcheck too now --- .github/workflows/build.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4cdbf3e698..0787964f71 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,8 +1,8 @@ name: build on: [push, pull_request] jobs: - check: - name: "check ${{ matrix.id }}" + build: + name: "${{ matrix.id }}" runs-on: ubuntu-20.04 container: debian:stable timeout-minutes: 360 @@ -10,8 +10,10 @@ jobs: fail-fast: false matrix: include: - - { id: "debian-stable-amd64-gcc", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "debian-stable-amd64-clang", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "check-debian-stable-amd64-gcc", task: "check", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "check-debian-stable-amd64-clang", task: "check", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: CC: "${{ matrix.compiler.CC }}" CXX: "${{ matrix.compiler.CXX }}" @@ -61,9 +63,8 @@ jobs: - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - name: check - # TODO(Perry): Parallelization causes GH Actions to hang - # run: make check -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 - run: make check -j1 VERBOSE=1 + # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} + run: make {{ matrix.task }} -j1 VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From a553292839a7dc4c2c570ac3fb2d28bece2138e6 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 18:32:25 -0400 Subject: [PATCH 24/67] gh actions build check run distcheck too now typo --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0787964f71..600140ac94 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -64,7 +64,7 @@ jobs: run: ./configure $GH_OLA_CONFIGURE_ARGS - name: check # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} - run: make {{ matrix.task }} -j1 VERBOSE=1 + run: make ${{ matrix.task }} -j1 VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From ee0091bf35c452346d5a90c98626184575d0a972 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 18:34:22 -0400 Subject: [PATCH 25/67] gh actions build check update step and file naming --- .github/workflows/build.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 600140ac94..8f0b011624 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -62,7 +62,7 @@ jobs: run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure run: ./configure $GH_OLA_CONFIGURE_ARGS - - name: check + - name: ${{ matrix.task }} # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} run: make ${{ matrix.task }} -j1 VERBOSE=1 - name: Display structure of the built files @@ -74,8 +74,8 @@ jobs: # If the file does not exist when tar excludes it, then it will not # actually exclude it, so it must first be touched run: | - touch ola-${{ matrix.id }}-check-source-tree.tar.gz - tar --exclude=ola-${{ matrix.id }}-check-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-check-source-tree.tar.gz . + touch ola-${{ matrix.id }}-source-tree.tar.gz + tar --exclude=ola-${{ matrix.id }}-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-source-tree.tar.gz . - name: SHA256 artifact archives if: always() run: sha256sum ola-*.tar.gz @@ -83,15 +83,15 @@ jobs: uses: actions/upload-artifact@v3 if: always() with: - name: ola-${{ matrix.id }}-check-source-tree - path: ola-${{ matrix.id }}-check-source-tree.tar.gz + name: ola-${{ matrix.id }}-source-tree + path: ola-${{ matrix.id }}-source-tree.tar.gz - name: Upload built artifact uses: actions/upload-artifact@v3 with: - name: ola-${{ matrix.id }}-check + name: ola-${{ matrix.id }} path: | ola-*.tar.gz - !ola-${{ matrix.id }}-check-source-tree.tar.gz + !ola-${{ matrix.id }}-source-tree.tar.gz - name: Install dependencies to verify trees run: apt-get install -y python-is-python3 - name: Verify trees From 7a0f779abbe78b107fea6566635613a8fd9e0859 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 19:03:41 -0400 Subject: [PATCH 26/67] gh actions build check cannot run as root for CredentialsTest --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8f0b011624..ad5497eae4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -4,7 +4,9 @@ jobs: build: name: "${{ matrix.id }}" runs-on: ubuntu-20.04 - container: debian:stable + container: + image: debian:stable + options: --user 1000 # cannot run CredentialsTest as root timeout-minutes: 360 strategy: fail-fast: false From c04291ee516010d97cfc24b45b9dbd3dbb4f3a6d Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 19:08:28 -0400 Subject: [PATCH 27/67] gh actions build check create new user to run as like with Debian build --- .github/workflows/build.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ad5497eae4..34ff4ae768 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -4,9 +4,7 @@ jobs: build: name: "${{ matrix.id }}" runs-on: ubuntu-20.04 - container: - image: debian:stable - options: --user 1000 # cannot run CredentialsTest as root + container: debian:stable timeout-minutes: 360 strategy: fail-fast: false @@ -30,13 +28,13 @@ jobs: # create a .git folder or .git.config. The Problem Matcher looks for # .git/config to find where the root of the repo is, so it must be # present. - - name: Install Git + - name: Install Git and adduser run: apt-get -y install git - uses: actions/checkout@v3 - name: Install build tools shell: bash run: | - apt-get -y install pkg-config libtool autoconf \ + apt-get -y install adduser pkg-config libtool autoconf \ automake g++ bison flex make bash-completion dh-autoreconf \ debhelper devscripts wget python3-pip - name: Install build dependencies @@ -50,8 +48,13 @@ jobs: - name: Install compiler shell: bash run: apt-get -y install ${{ matrix.compiler.pkg }} + - name: Set up build user + run: | + adduser --disabled-password --gecos "" builduser + chown -R builduser:builduser . + chown builduser:builduser .. - name: Autoreconf - run: autoreconf -i + run: sudo -u builduser autoreconf -i - name: Set configure arguments run: | echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV @@ -63,10 +66,10 @@ jobs: - name: Print configure command run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure - run: ./configure $GH_OLA_CONFIGURE_ARGS + run: sudo -u builduser ./configure $GH_OLA_CONFIGURE_ARGS - name: ${{ matrix.task }} # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} - run: make ${{ matrix.task }} -j1 VERBOSE=1 + run: sudo -u builduser make ${{ matrix.task }} -j1 VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From 81e8d2764044227b709986b0ff62b64c85087b91 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 19:11:42 -0400 Subject: [PATCH 28/67] gh actions build check new user install sudo, add comment for why --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 34ff4ae768..318d9a8937 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,13 +28,13 @@ jobs: # create a .git folder or .git.config. The Problem Matcher looks for # .git/config to find where the root of the repo is, so it must be # present. - - name: Install Git and adduser + - name: Install Git run: apt-get -y install git - uses: actions/checkout@v3 - name: Install build tools shell: bash run: | - apt-get -y install adduser pkg-config libtool autoconf \ + apt-get -y install adduser sudo pkg-config libtool autoconf \ automake g++ bison flex make bash-completion dh-autoreconf \ debhelper devscripts wget python3-pip - name: Install build dependencies @@ -48,7 +48,7 @@ jobs: - name: Install compiler shell: bash run: apt-get -y install ${{ matrix.compiler.pkg }} - - name: Set up build user + - name: Set up build user # CredentialsTest cannot run as root run: | adduser --disabled-password --gecos "" builduser chown -R builduser:builduser . From e8de4c812c4f4d5708a6c47d0205cfe83ce1fe86 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 19:49:27 -0400 Subject: [PATCH 29/67] gh actions build check container in matrix, only verify trees in distcheck, distcheck correct archive --- .github/workflows/build.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 318d9a8937..22bbb677d1 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -4,16 +4,16 @@ jobs: build: name: "${{ matrix.id }}" runs-on: ubuntu-20.04 - container: debian:stable + container: ${{ matrix.container }} timeout-minutes: 360 strategy: fail-fast: false matrix: include: - - { id: "check-debian-stable-amd64-gcc", task: "check", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "check-debian-stable-amd64-clang", task: "check", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } - - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "check-debian-stable-amd64-gcc", task: "check", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "check-debian-stable-amd64-clang", task: "check", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: CC: "${{ matrix.compiler.CC }}" CXX: "${{ matrix.compiler.CXX }}" @@ -98,11 +98,14 @@ jobs: ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - name: Install dependencies to verify trees + if: ${{ matrix.task }} == "distcheck" run: apt-get install -y python-is-python3 - name: Verify trees + if: ${{ matrix.task }} == "distcheck shell: bash + # Use second-most-recently-created file; first is the source tree run: | - tarball=$(ls -Ut ola*.tar.gz | head -1) + tarball=$(ls --time=birth ola*.tar.gz | sed -n '2 p') tar -zxf $tarball; tarball_root=$(echo $tarball | sed 's/.tar.gz$//') ./scripts/verify_trees.py ./ $tarball_root From e806852c0934ef2191ce02eaf65d8d0f00386364 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 23:05:42 -0400 Subject: [PATCH 30/67] gh actions build check separate args for check --- .github/workflows/build.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 22bbb677d1..f0dbf43836 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,10 +10,10 @@ jobs: fail-fast: false matrix: include: - - { id: "check-debian-stable-amd64-gcc", task: "check", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "check-debian-stable-amd64-clang", task: "check", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } - - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "check-debian-stable-amd64-gcc", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "check-debian-stable-amd64-clang", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: CC: "${{ matrix.compiler.CC }}" CXX: "${{ matrix.compiler.CXX }}" @@ -57,7 +57,7 @@ jobs: run: sudo -u builduser autoreconf -i - name: Set configure arguments run: | - echo "GH_OLA_CONFIGURE_ARGS=--enable-rdm-tests --enable-java-libs --enable-ja-rule --enable-e133" >> $GITHUB_ENV + echo "GH_OLA_CONFIGURE_ARGS=${{ matrix.configure-args }}" >> $GITHUB_ENV - name: Set additional Linux configure arguments if: runner.os == 'Linux' # Silence all deprecated declarations on Linux due to auto_ptr making the build log too long From 28643dbac41e64e2253080d6a31d5cff17574aa6 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 23:08:16 -0400 Subject: [PATCH 31/67] gh actions build check skip verify trees for check --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f0dbf43836..d7058670f8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -98,10 +98,10 @@ jobs: ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - name: Install dependencies to verify trees - if: ${{ matrix.task }} == "distcheck" + if: ${{ matrix.task == "distcheck" }} run: apt-get install -y python-is-python3 - name: Verify trees - if: ${{ matrix.task }} == "distcheck + if: ${{ matrix.task == "distcheck" }} shell: bash # Use second-most-recently-created file; first is the source tree run: | From 28d1731b41583460cbcfca7c73762bb9d4065da3 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 23:10:24 -0400 Subject: [PATCH 32/67] gh actions build check skip verify trees for check typo --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d7058670f8..a1188bc224 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -98,10 +98,10 @@ jobs: ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - name: Install dependencies to verify trees - if: ${{ matrix.task == "distcheck" }} + if: matrix.task == 'distcheck' run: apt-get install -y python-is-python3 - name: Verify trees - if: ${{ matrix.task == "distcheck" }} + if: matrix.task == 'distcheck' shell: bash # Use second-most-recently-created file; first is the source tree run: | From f2a4eb05555990dc0f52c746c8a841021c5218ad Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Sun, 30 Apr 2023 23:56:29 -0400 Subject: [PATCH 33/67] gh actions build move verify trees to separate job --- .github/workflows/build.yaml | 45 +++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a1188bc224..da4fb95c46 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -97,15 +97,44 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz + verify-trees: + name: 'Verify trees for ${{ matrix.id }}' + needs: build + if: "always()" # Run if some builds fail but ensure they all complete first + container: debian:stable + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - { id: "distcheck-debian-stable-amd64-gcc" } + - { id: "distcheck-debian-stable-amd64-clang" } + steps: + - uses: actions/checkout@master + - name: Download build artifact + uses: actions/download-artifact@v3 + with: + name: ola-${{ matrix.id }}-source-tree + path: built + - name: Display structure of artifact files + if: always() && env.ACTIONS_STEP_DEBUG == 'true' + run: ls -alR + working-directory: built + - name: Update package database + run: apt-get update -y - name: Install dependencies to verify trees - if: matrix.task == 'distcheck' run: apt-get install -y python-is-python3 + - name: Find dist build tarball + run: | + echo "GH_OLA_VERIFY_TREES_TARBALL=$(ls --time=birth ola*.tar.gz| head -1)" >> $GITHUB_ENV + working-directory: built + - name: Print dist build tarball name + run: echo "$GH_OLA_VERIFY_TREES_TARBALL" + working-directory: built + - name: Extract dist build + run: tar -zxvf $GH_OLA_VERIFY_TREES_TARBALL + working-directory: built - name: Verify trees - if: matrix.task == 'distcheck' shell: bash - # Use second-most-recently-created file; first is the source tree - run: | - tarball=$(ls --time=birth ola*.tar.gz | sed -n '2 p') - tar -zxf $tarball; - tarball_root=$(echo $tarball | sed 's/.tar.gz$//') - ./scripts/verify_trees.py ./ $tarball_root + run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') + working-directory: built From 17589109a5ca2a845bd3f6ffc4e9e4af17f16a50 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:13:08 -0400 Subject: [PATCH 34/67] gh actions check only once for coverage (no difference with gcc vs. clang), upload to coveralls --- .github/workflows/build.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index da4fb95c46..68d9e5871b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,8 +10,7 @@ jobs: fail-fast: false matrix: include: - - { id: "check-debian-stable-amd64-gcc", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "check-debian-stable-amd64-clang", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - { id: "coverage-debian-stable-amd64-gcc", task: "coverage", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: @@ -97,6 +96,11 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz + - name: Upload built artifact + uses: coverallsapp/github-action@v2 + if: always() && matrix.id == 'coverage' + with: + flag-name: ${{ matrix.id }} verify-trees: name: 'Verify trees for ${{ matrix.id }}' needs: build From 784d9ebe2605a7326ddfa36d4f7988a5469a5d46 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:21:57 -0400 Subject: [PATCH 35/67] gh actions check only once for coverage (no difference with gcc vs. clang), upload to coveralls typo --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 68d9e5871b..3ef6a4b615 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: include: - - { id: "coverage-debian-stable-amd64-gcc", task: "coverage", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } + - { id: "coverage-debian-stable-amd64-gcc", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } env: @@ -98,7 +98,7 @@ jobs: !ola-${{ matrix.id }}-source-tree.tar.gz - name: Upload built artifact uses: coverallsapp/github-action@v2 - if: always() && matrix.id == 'coverage' + if: always() && contains(matrix.configure-args, '--enable-gcov') with: flag-name: ${{ matrix.id }} verify-trees: From 90871c72dc9cb374eb80abbfa2258dbdbf97c481 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:32:20 -0400 Subject: [PATCH 36/67] gh actions build verify trees extract underlying job --- .github/workflows/build.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3ef6a4b615..9833c5f3db 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -119,11 +119,14 @@ jobs: uses: actions/download-artifact@v3 with: name: ola-${{ matrix.id }}-source-tree - path: built + path: artifact - name: Display structure of artifact files - if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR - working-directory: built + working-directory: download + - name: Extract the source tree + shell: bash + run: tar -xvzf ola-${{ matrix.id }}-source-tree.tar.gz + working-directory: artifact - name: Update package database run: apt-get update -y - name: Install dependencies to verify trees @@ -131,14 +134,14 @@ jobs: - name: Find dist build tarball run: | echo "GH_OLA_VERIFY_TREES_TARBALL=$(ls --time=birth ola*.tar.gz| head -1)" >> $GITHUB_ENV - working-directory: built + working-directory: artifact/ola-${{ matrix.id }}-source-tree - name: Print dist build tarball name run: echo "$GH_OLA_VERIFY_TREES_TARBALL" - working-directory: built + working-directory: artifact/ola-${{ matrix.id }}-source-tree - name: Extract dist build - run: tar -zxvf $GH_OLA_VERIFY_TREES_TARBALL - working-directory: built + run: tar -xvzf $GH_OLA_VERIFY_TREES_TARBALL + working-directory: artifact/ola-${{ matrix.id }}-source-tree - name: Verify trees shell: bash run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') - working-directory: built + working-directory: artifact/ola-${{ matrix.id }}-source-tree From f0670487a75cb14872f7eb5af2788f86fdd42aff Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:43:07 -0400 Subject: [PATCH 37/67] gh actions build verify trees problem matcher, smoother artifact extract like lint workflow --- .../problem-matcher-build-verify-trees.json | 15 +++++++++ .github/workflows/build.yaml | 32 +++++++++---------- 2 files changed, 31 insertions(+), 16 deletions(-) create mode 100644 .github/problem-matcher-build-verify-trees.json diff --git a/.github/problem-matcher-build-verify-trees.json b/.github/problem-matcher-build-verify-trees.json new file mode 100644 index 0000000000..dc06df4c17 --- /dev/null +++ b/.github/problem-matcher-build-verify-trees.json @@ -0,0 +1,15 @@ +{ + "problemMatcher": [ + { + "owner": "build-verify-trees", + "severity": "error", + "pattern": [ + { + "regexp": "^(Missing from tarball)(\\s+)(.+)$", + "message": 1, + "file": 3 + } + ] + } + ] +} diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9833c5f3db..b000030bf4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -114,34 +114,34 @@ jobs: - { id: "distcheck-debian-stable-amd64-gcc" } - { id: "distcheck-debian-stable-amd64-clang" } steps: - - uses: actions/checkout@master - - name: Download build artifact + - name: Download built source tree archive uses: actions/download-artifact@v3 with: name: ola-${{ matrix.id }}-source-tree - path: artifact - - name: Display structure of artifact files - run: ls -alR - working-directory: download - - name: Extract the source tree + path: . + - name: SHA256 artifact archive + run: sha256sum ola-${{ matrix.id }}-source-tree.tar.gz + - name: Unarchive artifacts and delete archive shell: bash - run: tar -xvzf ola-${{ matrix.id }}-source-tree.tar.gz - working-directory: artifact + run: | + tar -xvzfola-${{ matrix.id }}-source-tree.tar.gz . + rm ola-${{ matrix.id }}-source-tree.tar.gz + - name: Display structure of extracted files + if: env.ACTIONS_STEP_DEBUG == 'true' + run: ls -alR - name: Update package database run: apt-get update -y - - name: Install dependencies to verify trees - run: apt-get install -y python-is-python3 + - name: Install Python + run: apt-get -y install python3 python-is-python3 + - name: Enable Problem Matcher for GitHub annotations + run: echo "::add-matcher::.github/problem-matcher-build-verify-trees.json" - name: Find dist build tarball run: | - echo "GH_OLA_VERIFY_TREES_TARBALL=$(ls --time=birth ola*.tar.gz| head -1)" >> $GITHUB_ENV - working-directory: artifact/ola-${{ matrix.id }}-source-tree + echo "GH_OLA_VERIFY_TREES_TARBALL=$(ls -t --time=birth ola*.tar.gz| head -1)" >> $GITHUB_ENV - name: Print dist build tarball name run: echo "$GH_OLA_VERIFY_TREES_TARBALL" - working-directory: artifact/ola-${{ matrix.id }}-source-tree - name: Extract dist build run: tar -xvzf $GH_OLA_VERIFY_TREES_TARBALL - working-directory: artifact/ola-${{ matrix.id }}-source-tree - name: Verify trees shell: bash run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') - working-directory: artifact/ola-${{ matrix.id }}-source-tree From 73cbebb7c7e0981b20e2b3a0c83bd3032e007f74 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:48:34 -0400 Subject: [PATCH 38/67] gh actions build coveralls step name typo --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b000030bf4..cad412757f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -96,7 +96,7 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - - name: Upload built artifact + - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 if: always() && contains(matrix.configure-args, '--enable-gcov') with: From 29f667d7cbd0f7adaf123dce1e00eb40f4d01b3b Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 00:51:51 -0400 Subject: [PATCH 39/67] gh actions build coveralls requires curl --- .github/workflows/build.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cad412757f..8d01cd45d3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -96,6 +96,9 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz + - name: Install curl + if: always() && contains(matrix.configure-args, '--enable-gcov') + run: apt-get -y install curl - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 if: always() && contains(matrix.configure-args, '--enable-gcov') From 33721be17a3912147abed8b8462d73536173fcbb Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 01:41:57 -0400 Subject: [PATCH 40/67] gh actions build coveralls run gcov, separate job --- .github/workflows/build.yaml | 42 +++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8d01cd45d3..cf153e931d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -96,13 +96,45 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - - name: Install curl - if: always() && contains(matrix.configure-args, '--enable-gcov') - run: apt-get -y install curl + coverage: + name: 'Coverage for ${{ matrix.id }}' + needs: build + if: "always()" # Run if some builds fail but ensure they all complete first + container: debian:stable + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - { id: "coverage-debian-stable-amd64-gcc" } + steps: + - name: Download built source tree archive + uses: actions/download-artifact@v3 + with: + name: ola-${{ matrix.id }}-source-tree + path: . + - name: SHA256 artifact archive + run: sha256sum ola-${{ matrix.id }}-source-tree.tar.gz + - name: Unarchive artifacts and delete archive + shell: bash + run: | + tar -xvzf ola-${{ matrix.id }}-source-tree.tar.gz . + rm ola-${{ matrix.id }}-source-tree.tar.gz + - name: Display structure of extracted files + if: env.ACTIONS_STEP_DEBUG == 'true' + run: ls -alR + - name: Update package database + run: apt-get update -y + - name: Install coverage dependencies + run: apt-get -y install curl gcov-10 + - name: Run gcov + shell: bash + run: | + /usr/bin/gcov-10 --long-file-names --preserve-paths --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 - if: always() && contains(matrix.configure-args, '--enable-gcov') with: + format: gcov flag-name: ${{ matrix.id }} verify-trees: name: 'Verify trees for ${{ matrix.id }}' @@ -127,7 +159,7 @@ jobs: - name: Unarchive artifacts and delete archive shell: bash run: | - tar -xvzfola-${{ matrix.id }}-source-tree.tar.gz . + tar -xvzf ola-${{ matrix.id }}-source-tree.tar.gz . rm ola-${{ matrix.id }}-source-tree.tar.gz - name: Display structure of extracted files if: env.ACTIONS_STEP_DEBUG == 'true' From 4fc8411022c561d84e3b958e1bc7e7a8cb37fd72 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 02:23:33 -0400 Subject: [PATCH 41/67] gh actions build latest gcovr, use coveralls format, upload all format as artifacts --- .github/workflows/build.yaml | 24 +++++++++++++++++++----- .gitignore | 6 ++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cf153e931d..6e80eeb9bd 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -125,17 +125,31 @@ jobs: run: ls -alR - name: Update package database run: apt-get update -y - - name: Install coverage dependencies - run: apt-get -y install curl gcov-10 - - name: Run gcov + - name: Install coverage tools + run: apt-get -y install curl gcov-10 python3-pip + - name: Install Python coverage tools + run: python3 -m pip install --no-input gcovr + - name: Run gcovr shell: bash run: | - /usr/bin/gcov-10 --long-file-names --preserve-paths --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' + python3 -m gcovr --print-summary --txt coverage.txt --csv coverage.csv --json coverage.json --xml coverage.xml --html coverage.html --html-self-contained --coveralls coverage.coveralls.json --gcov-executable /usr/bin/gcov-10 --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 with: - format: gcov + file: coverage.coveralls.json flag-name: ${{ matrix.id }} + - name: Upload coverage artifacts + if: always() + uses: actions/upload-artifact@v3 + with: + name: ola-${{ matrix.id }}-coverage + path: | + coverage.txt + coverage.csv + coverage.json + coverage.xml + coverage.html + coverage.coveralls.json verify-trees: name: 'Verify trees for ${{ matrix.id }}' needs: build diff --git a/.gitignore b/.gitignore index 169ab16a4f..f84a77b6d7 100644 --- a/.gitignore +++ b/.gitignore @@ -250,3 +250,9 @@ javascript/new-src/node_modules .autotools .cproject .settings +coverage.txt +coverage.csv +coverage.json +coverage.xml +coverage.html +coverage.coveralls.json From eb2adb48eddc0951de91cc9be2106bcba4fe13ad Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 02:25:13 -0400 Subject: [PATCH 42/67] gh actions build gcov-10 correct package --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6e80eeb9bd..4ac3e32896 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -126,7 +126,7 @@ jobs: - name: Update package database run: apt-get update -y - name: Install coverage tools - run: apt-get -y install curl gcov-10 python3-pip + run: apt-get -y install curl gcc-10 python3-pip - name: Install Python coverage tools run: python3 -m pip install --no-input gcovr - name: Run gcovr From f70faa7ee8abfdeb35c7a74b76db60347099efd8 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 02:58:01 -0400 Subject: [PATCH 43/67] gh actions build coverage requires libcppunit --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4ac3e32896..5aac5f7168 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -126,13 +126,13 @@ jobs: - name: Update package database run: apt-get update -y - name: Install coverage tools - run: apt-get -y install curl gcc-10 python3-pip + run: apt-get -y install curl gcc python3-pip libcppunit-dev - name: Install Python coverage tools run: python3 -m pip install --no-input gcovr - name: Run gcovr shell: bash run: | - python3 -m gcovr --print-summary --txt coverage.txt --csv coverage.csv --json coverage.json --xml coverage.xml --html coverage.html --html-self-contained --coveralls coverage.coveralls.json --gcov-executable /usr/bin/gcov-10 --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' + python3 -m gcovr --print-summary --txt coverage.txt --csv coverage.csv --json coverage.json --xml coverage.xml --html coverage.html --html-self-contained --coveralls coverage.coveralls.json --gcov-executable /usr/bin/gcov --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 with: From 4f0dbac3ac60dca64d7d72d830e44803d303ece5 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 10:40:43 -0400 Subject: [PATCH 44/67] github actions build move coverage to makefile --- .github/workflows/build.yaml | 15 ++++++++++++--- Makefile.am | 24 ++++++++++++++++++++++++ configure.ac | 5 +++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5aac5f7168..f309653336 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -36,6 +36,8 @@ jobs: apt-get -y install adduser sudo pkg-config libtool autoconf \ automake g++ bison flex make bash-completion dh-autoreconf \ debhelper devscripts wget python3-pip + - name: Install Python build tools + run: python3 -m pip install --no-input gcovr - name: Install build dependencies shell: bash run: | @@ -126,13 +128,20 @@ jobs: - name: Update package database run: apt-get update -y - name: Install coverage tools - run: apt-get -y install curl gcc python3-pip libcppunit-dev + run: apt-get -y install curl gcc python3-pip - name: Install Python coverage tools run: python3 -m pip install --no-input gcovr - - name: Run gcovr + - name: Install build dependencies shell: bash run: | - python3 -m gcovr --print-summary --txt coverage.txt --csv coverage.csv --json coverage.json --xml coverage.xml --html coverage.html --html-self-contained --coveralls coverage.coveralls.json --gcov-executable /usr/bin/gcov --root . -e '.*Test\.cpp$' -e '.*\.pb\.cc$' -e '.*\.pb\.cpp$' -e '.*\.pb\.h$' -e '.*\.yy\.cpp$' -e '.*\.tab\.cpp$' -e '.*\.tab\.h$' -e '.*/doxygen/examples.*$' + apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \ + libmicrohttpd-dev protobuf-compiler python3-protobuf \ + libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ + libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ + default-jdk-headless maven + - name: Generate coverage + shell: bash + run: make coverage VERBOSE=1 - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 with: diff --git a/Makefile.am b/Makefile.am index 0b5e88271d..b142ebc74b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -263,3 +263,27 @@ if FOUND_CPPLINT else $(error cpplint not found. Install the forked cpplint (e.g. via pip for the latest version) and re-run configure.) endif + +# coverage +COVERAGE_OUTPUTS = --txt coverage.txt \ + --csv coverage.csv \ + --json coverage.json \ + --xml coverage.xml \ + --html coverage.html --html-self-contained \ + --coveralls coverage.coveralls.json +COVERAGE_GCOV_EXE=--gcov-executable /usr/bin/gcov +COVERAGE_FILTERS=-e '.*Test\.cpp$$' \ + -e '.*\.pb\.cc$$' \ + -e '.*\.pb\.cpp$$' \ + -e '.*\.pb\.h$$' \ + -e '.*\.yy\.cpp$$' \ + -e '.*\.tab\.cpp$$' \ + -e '.*\.tab\.h$$' \ + -e '.*/doxygen/examples.*$$' +.PHONY : coverage +coverage: Makefile.am +if FOUND_GCOVR + gcovr --print-summary $(COVERAGE_OUTPUTS) $(COVERAGE_GCOV_EXE) --root . $(COVERAGE_FILTERS) +else + $(error gcovr not found. Install gcovr (e.g. via pip for the latest version) and re-run configure.) +endif diff --git a/configure.ac b/configure.ac index 0252ce69a1..9a151d8370 100644 --- a/configure.ac +++ b/configure.ac @@ -962,6 +962,10 @@ AM_CONDITIONAL([FOUND_FLAKE8], [test "x$flake8" = xyes]) AC_CHECK_PROG([cpplint],[cpplint],[yes],[no]) AM_CONDITIONAL([FOUND_CPPLINT], [test "x$cpplint" = xyes]) +# Coverage +AC_CHECK_PROG([gcovr],[gcovr],[yes],[no]) +AM_CONDITIONAL([FOUND_GCOVR], [test "x$gcovr" = xyes]) + # Output ##################################################### # Hack alert! @@ -1036,4 +1040,5 @@ Now type 'make @<:@@:>@' check - run the tests doxygen-doc - generate the HTML documentation lint - run the linters + coverage - generate coverage post --enable-gcov -------------------------------------------------------" From 6e1bbca2cca0ffce2c03a124c9b6376c551e435b Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 11:10:42 -0400 Subject: [PATCH 45/67] github actions build do not upload dist for non-dist tasks --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f309653336..bcd0bc44e4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -92,6 +92,7 @@ jobs: name: ola-${{ matrix.id }}-source-tree path: ola-${{ matrix.id }}-source-tree.tar.gz - name: Upload built artifact + if: matrix.task == 'distcheck' or matrix.task == 'dist' uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }} From 780e80f45a2a84c9defdb0f74ebd310de7348c5e Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 11:11:50 -0400 Subject: [PATCH 46/67] github actions build do not upload dist for non-dist tasks typo --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bcd0bc44e4..511a01aade 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -92,7 +92,7 @@ jobs: name: ola-${{ matrix.id }}-source-tree path: ola-${{ matrix.id }}-source-tree.tar.gz - name: Upload built artifact - if: matrix.task == 'distcheck' or matrix.task == 'dist' + if: matrix.task == 'distcheck' || matrix.task == 'dist' uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }} From a8878cfa5d44ac75ae223819c9d9bd16f2749ecb Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 11:21:16 -0400 Subject: [PATCH 47/67] github actions build coveralls use gcov --- .github/workflows/build.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 511a01aade..bb5f27b768 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -146,7 +146,11 @@ jobs: - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 with: - file: coverage.coveralls.json + # Coveralls GitHub action does not support its own format + # see: https://github.com/coverallsapp/github-action/issues/104 + # file: coverage.coveralls.json + file: coverage.txt + format: gcov flag-name: ${{ matrix.id }} - name: Upload coverage artifacts if: always() From f9c21757fc4df15bba801d03516a10fa562faf06 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 12:46:48 -0400 Subject: [PATCH 48/67] github actions build coverage separate folder, try coverallswith xml --- .github/workflows/build.yaml | 10 ++-------- .gitignore | 7 +------ Makefile.am | 13 +++++++------ 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bb5f27b768..d29ce6d0b3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -149,7 +149,7 @@ jobs: # Coveralls GitHub action does not support its own format # see: https://github.com/coverallsapp/github-action/issues/104 # file: coverage.coveralls.json - file: coverage.txt + file: coverage/coverage.xml format: gcov flag-name: ${{ matrix.id }} - name: Upload coverage artifacts @@ -157,13 +157,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }}-coverage - path: | - coverage.txt - coverage.csv - coverage.json - coverage.xml - coverage.html - coverage.coveralls.json + path: coverage/ verify-trees: name: 'Verify trees for ${{ matrix.id }}' needs: build diff --git a/.gitignore b/.gitignore index f84a77b6d7..1fc667a291 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,7 @@ config.h.in~ config.log config.status configure +coverage/ cpplint.py doxygen_entrydb_*.tmp doxygen_objdb_*.tmp @@ -250,9 +251,3 @@ javascript/new-src/node_modules .autotools .cproject .settings -coverage.txt -coverage.csv -coverage.json -coverage.xml -coverage.html -coverage.coveralls.json diff --git a/Makefile.am b/Makefile.am index b142ebc74b..70f4b5f105 100644 --- a/Makefile.am +++ b/Makefile.am @@ -265,12 +265,12 @@ else endif # coverage -COVERAGE_OUTPUTS = --txt coverage.txt \ - --csv coverage.csv \ - --json coverage.json \ - --xml coverage.xml \ - --html coverage.html --html-self-contained \ - --coveralls coverage.coveralls.json +COVERAGE_OUTPUTS = --txt coverage/coverage.txt \ + --csv coverage/coverage.csv \ + --json coverage/coverage.json \ + --xml coverage/coverage.xml \ + --html-details coverage/details.html/coverage.details.html \ + --coveralls coverage/coverage.coveralls.json COVERAGE_GCOV_EXE=--gcov-executable /usr/bin/gcov COVERAGE_FILTERS=-e '.*Test\.cpp$$' \ -e '.*\.pb\.cc$$' \ @@ -283,6 +283,7 @@ COVERAGE_FILTERS=-e '.*Test\.cpp$$' \ .PHONY : coverage coverage: Makefile.am if FOUND_GCOVR + mkdir -p coverage/details.html/ gcovr --print-summary $(COVERAGE_OUTPUTS) $(COVERAGE_GCOV_EXE) --root . $(COVERAGE_FILTERS) else $(error gcovr not found. Install gcovr (e.g. via pip for the latest version) and re-run configure.) From 6f61349773272f7f924484bcfe60cc183ba43370 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 13:30:32 -0400 Subject: [PATCH 49/67] github actions build coveralls cobertura xml --- .github/workflows/build.yaml | 4 ++-- Makefile.am | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d29ce6d0b3..7d664edbe9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -149,8 +149,8 @@ jobs: # Coveralls GitHub action does not support its own format # see: https://github.com/coverallsapp/github-action/issues/104 # file: coverage.coveralls.json - file: coverage/coverage.xml - format: gcov + file: coverage/coverage.cobertura.xml + format: cobertura flag-name: ${{ matrix.id }} - name: Upload coverage artifacts if: always() diff --git a/Makefile.am b/Makefile.am index 70f4b5f105..1b883af2cc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -268,7 +268,7 @@ endif COVERAGE_OUTPUTS = --txt coverage/coverage.txt \ --csv coverage/coverage.csv \ --json coverage/coverage.json \ - --xml coverage/coverage.xml \ + --cobertura coverage/coverage.cobertura.xml \ --html-details coverage/details.html/coverage.details.html \ --coveralls coverage/coverage.coveralls.json COVERAGE_GCOV_EXE=--gcov-executable /usr/bin/gcov From 8534283a0799353fe83721ba02293b4c842afc26 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Mon, 1 May 2023 13:45:11 -0400 Subject: [PATCH 50/67] github actions build name dist artifact as dist --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7d664edbe9..333b4c5d65 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -95,7 +95,7 @@ jobs: if: matrix.task == 'distcheck' || matrix.task == 'dist' uses: actions/upload-artifact@v3 with: - name: ola-${{ matrix.id }} + name: ola-${{ matrix.id }}-dist path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz From 5111f9347c2a56ba55a1ef347403754626779d32 Mon Sep 17 00:00:00 2001 From: Perry Naseck <4472083+DaAwesomeP@users.noreply.github.com> Date: Tue, 2 May 2023 11:45:04 -0400 Subject: [PATCH 51/67] gh actions build coveralls coverage fix commented out coveralls format file path Co-authored-by: Peter Newman --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 333b4c5d65..8fbc5fda66 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -148,7 +148,7 @@ jobs: with: # Coveralls GitHub action does not support its own format # see: https://github.com/coverallsapp/github-action/issues/104 - # file: coverage.coveralls.json + # file: coverage/coverage.coveralls.json file: coverage/coverage.cobertura.xml format: cobertura flag-name: ${{ matrix.id }} From 56e00255670e21e00d7c93409372e0e029e64022 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 2 May 2023 11:51:59 -0400 Subject: [PATCH 52/67] gh actions build different format for matrices --- .github/workflows/build.yaml | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8fbc5fda66..5fb108fad3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,9 +10,30 @@ jobs: fail-fast: false matrix: include: - - { id: "coverage-debian-stable-amd64-gcc", task: "check", configure-args: "--enable-ja-rule --enable-e133 --enable-gcov", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "distcheck-debian-stable-amd64-gcc", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/gcc", CXX: "/usr/bin/g++", pkg: "gcc g++" } } - - { id: "distcheck-debian-stable-amd64-clang", task: "distcheck", configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs", container: "debian:stable", compiler: { CC: "/usr/bin/clang", CXX: "/usr/bin/clang++", pkg: "clang" } } + - id: "coverage-debian-stable-amd64-gcc" + task: "check" + configure-args: "--enable-ja-rule --enable-e133 --enable-gcov" + container: "debian:stable" + compiler: + CC: "/usr/bin/gcc" + CXX: "/usr/bin/g++" + pkg: "gcc g++" + - id: "distcheck-debian-stable-amd64-gcc" + task: "distcheck" + configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" + container: "debian:stable" + compiler: + CC: "/usr/bin/gcc" + CXX: "/usr/bin/g++" + pkg: "gcc g++" + - id: "distcheck-debian-stable-amd64-clang" + task: "distcheck" + configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" + container: "debian:stable" + compiler: + CC: "/usr/bin/clang" + CXX: "/usr/bin/clang++" + pkg: "clang" env: CC: "${{ matrix.compiler.CC }}" CXX: "${{ matrix.compiler.CXX }}" @@ -109,7 +130,7 @@ jobs: fail-fast: false matrix: include: - - { id: "coverage-debian-stable-amd64-gcc" } + - id: "coverage-debian-stable-amd64-gcc" steps: - name: Download built source tree archive uses: actions/download-artifact@v3 @@ -168,8 +189,8 @@ jobs: fail-fast: false matrix: include: - - { id: "distcheck-debian-stable-amd64-gcc" } - - { id: "distcheck-debian-stable-amd64-clang" } + - id: "distcheck-debian-stable-amd64-gcc" + - id: "distcheck-debian-stable-amd64-clang" steps: - name: Download built source tree archive uses: actions/download-artifact@v3 From 3683471fd95b347f286864d705d4faa0f8cb831c Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 2 May 2023 11:55:06 -0400 Subject: [PATCH 53/67] gh actions build always succeed verify trees and disable problem matcher until fixed --- .github/workflows/build.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5fb108fad3..f4b8f223b5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -211,8 +211,9 @@ jobs: run: apt-get update -y - name: Install Python run: apt-get -y install python3 python-is-python3 - - name: Enable Problem Matcher for GitHub annotations - run: echo "::add-matcher::.github/problem-matcher-build-verify-trees.json" + # Disable problem matcher for now until verify trees is fixed + # - name: Enable Problem Matcher for GitHub annotations + # run: echo "::add-matcher::.github/problem-matcher-build-verify-trees.json" - name: Find dist build tarball run: | echo "GH_OLA_VERIFY_TREES_TARBALL=$(ls -t --time=birth ola*.tar.gz| head -1)" >> $GITHUB_ENV @@ -222,4 +223,6 @@ jobs: run: tar -xvzf $GH_OLA_VERIFY_TREES_TARBALL - name: Verify trees shell: bash - run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') + # Always succeed for now until verify trees is fixed + # run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') + run: "./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') || true" From 1b20510de0aafad74384635f639e3877dee7afab Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Thu, 4 May 2023 10:47:51 -0400 Subject: [PATCH 54/67] github actions build coverage task require gcov enabled, build when running coverage task --- .github/workflows/build.yaml | 52 +++++------------------------------- Makefile.am | 6 ++++- configure.ac | 3 ++- 3 files changed, 13 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f4b8f223b5..3fbcca2c1e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -11,8 +11,8 @@ jobs: matrix: include: - id: "coverage-debian-stable-amd64-gcc" - task: "check" - configure-args: "--enable-ja-rule --enable-e133 --enable-gcov" + task: "coverage" + configure-args: "--enable-ja-rule --enable-e133 --enable-unittests --enable-gcov" container: "debian:stable" compiler: CC: "/usr/bin/gcc" @@ -120,51 +120,11 @@ jobs: path: | ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - coverage: - name: 'Coverage for ${{ matrix.id }}' - needs: build - if: "always()" # Run if some builds fail but ensure they all complete first - container: debian:stable - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - id: "coverage-debian-stable-amd64-gcc" - steps: - - name: Download built source tree archive - uses: actions/download-artifact@v3 - with: - name: ola-${{ matrix.id }}-source-tree - path: . - - name: SHA256 artifact archive - run: sha256sum ola-${{ matrix.id }}-source-tree.tar.gz - - name: Unarchive artifacts and delete archive - shell: bash - run: | - tar -xvzf ola-${{ matrix.id }}-source-tree.tar.gz . - rm ola-${{ matrix.id }}-source-tree.tar.gz - - name: Display structure of extracted files - if: env.ACTIONS_STEP_DEBUG == 'true' - run: ls -alR - - name: Update package database - run: apt-get update -y - name: Install coverage tools - run: apt-get -y install curl gcc python3-pip - - name: Install Python coverage tools - run: python3 -m pip install --no-input gcovr - - name: Install build dependencies - shell: bash - run: | - apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \ - libmicrohttpd-dev protobuf-compiler python3-protobuf \ - libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \ - libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy \ - default-jdk-headless maven - - name: Generate coverage - shell: bash - run: make coverage VERBOSE=1 + if: contains(matrix.configure-args, '--enable-gcov') + run: apt-get -y install curl - name: Upload coverage to Coveralls + if: contains(matrix.configure-args, '--enable-gcov') uses: coverallsapp/github-action@v2 with: # Coveralls GitHub action does not support its own format @@ -174,7 +134,7 @@ jobs: format: cobertura flag-name: ${{ matrix.id }} - name: Upload coverage artifacts - if: always() + if: always() && contains(matrix.configure-args, '--enable-gcov') uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }}-coverage diff --git a/Makefile.am b/Makefile.am index 1b883af2cc..3f586cd5b1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -281,10 +281,14 @@ COVERAGE_FILTERS=-e '.*Test\.cpp$$' \ -e '.*\.tab\.h$$' \ -e '.*/doxygen/examples.*$$' .PHONY : coverage -coverage: Makefile.am +coverage: all +if !BUILD_GCOV + $(error Generating coverage requires configuring with --enable-gcov) +else if FOUND_GCOVR mkdir -p coverage/details.html/ gcovr --print-summary $(COVERAGE_OUTPUTS) $(COVERAGE_GCOV_EXE) --root . $(COVERAGE_FILTERS) else $(error gcovr not found. Install gcovr (e.g. via pip for the latest version) and re-run configure.) endif +endif diff --git a/configure.ac b/configure.ac index 9a151d8370..71f7cf8c4f 100644 --- a/configure.ac +++ b/configure.ac @@ -608,6 +608,7 @@ AS_IF([test "x$enable_gcov" = xyes], [CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage" LIBS="$LIBS -lgcov"]) +AM_CONDITIONAL([BUILD_GCOV], [test "x$enable_gcov" = xyes]) # Enable HTTP support. This requires libmicrohttpd. AC_ARG_ENABLE( @@ -1038,7 +1039,7 @@ Now type 'make @<:@@:>@' where the optional is: all - build everything check - run the tests + coverage - build and generate coverage doxygen-doc - generate the HTML documentation lint - run the linters - coverage - generate coverage post --enable-gcov -------------------------------------------------------" From 17666a5eff0ec10a072807d767d9cec03300a032 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Thu, 4 May 2023 11:58:21 -0400 Subject: [PATCH 55/67] github actions build coverage task build all and checks but do not check --- Makefile.am | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3f586cd5b1..25d13bada7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -281,7 +281,7 @@ COVERAGE_FILTERS=-e '.*Test\.cpp$$' \ -e '.*\.tab\.h$$' \ -e '.*/doxygen/examples.*$$' .PHONY : coverage -coverage: all +coverage: Makefile.am check if !BUILD_GCOV $(error Generating coverage requires configuring with --enable-gcov) else diff --git a/configure.ac b/configure.ac index 71f7cf8c4f..d78ac24a2f 100644 --- a/configure.ac +++ b/configure.ac @@ -1039,7 +1039,7 @@ Now type 'make @<:@@:>@' where the optional is: all - build everything check - run the tests - coverage - build and generate coverage + coverage - build tests and generate coverage doxygen-doc - generate the HTML documentation lint - run the linters -------------------------------------------------------" From d4b19a7e53c96dc94095f918de845dbdc127c3e4 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Thu, 4 May 2023 13:47:01 -0400 Subject: [PATCH 56/67] github actions build coverage steps for coverage task --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3fbcca2c1e..3c7551d62a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -121,10 +121,10 @@ jobs: ola-*.tar.gz !ola-${{ matrix.id }}-source-tree.tar.gz - name: Install coverage tools - if: contains(matrix.configure-args, '--enable-gcov') + if: matrix.task == 'coverage' run: apt-get -y install curl - name: Upload coverage to Coveralls - if: contains(matrix.configure-args, '--enable-gcov') + if: matrix.task == 'coverage' uses: coverallsapp/github-action@v2 with: # Coveralls GitHub action does not support its own format @@ -134,7 +134,7 @@ jobs: format: cobertura flag-name: ${{ matrix.id }} - name: Upload coverage artifacts - if: always() && contains(matrix.configure-args, '--enable-gcov') + if: always() && matrix.task == 'coverage' uses: actions/upload-artifact@v3 with: name: ola-${{ matrix.id }}-coverage From d9c83829bdff45fcc124cafefca02e91ea0aeca8 Mon Sep 17 00:00:00 2001 From: Perry Naseck <4472083+DaAwesomeP@users.noreply.github.com> Date: Tue, 13 Jun 2023 14:19:25 -0400 Subject: [PATCH 57/67] Update .github/workflows/build.yaml TODO Perry Co-authored-by: Peter Newman --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3c7551d62a..5148a097b0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -183,6 +183,6 @@ jobs: run: tar -xvzf $GH_OLA_VERIFY_TREES_TARBALL - name: Verify trees shell: bash - # Always succeed for now until verify trees is fixed + # TODO(Perry): Always succeed for now until verify trees is fixed # run: ./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') run: "./scripts/verify_trees.py ./ $(echo $GH_OLA_VERIFY_TREES_TARBALL | sed 's/.tar.gz$//') || true" From 8eebac00421a738bb47162232add1a1b891578b8 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 14:30:48 -0400 Subject: [PATCH 58/67] github actions build move multicore count limit --- .github/workflows/build.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5148a097b0..be3918a266 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -39,7 +39,9 @@ jobs: CXX: "${{ matrix.compiler.CXX }}" steps: - name: Get number of CPU cores - run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT + # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} + # run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT + run: echo "NUM_CPU_CORES=1" >> $GITHUB_OUTPUT - name: Update package database run: apt-get update -y # See comments beginning at @@ -90,8 +92,7 @@ jobs: - name: Configure run: sudo -u builduser ./configure $GH_OLA_CONFIGURE_ARGS - name: ${{ matrix.task }} - # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} - run: sudo -u builduser make ${{ matrix.task }} -j1 VERBOSE=1 + run: sudo -u builduser make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From 771604d3a6ddcdebba9c549a209b9ead7d069794 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 15:01:58 -0400 Subject: [PATCH 59/67] github actions build and lint fix python3 venv debian --- .github/workflows/build.yaml | 8 +++++++- .github/workflows/lint.yaml | 28 ++++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index be3918a266..cdb343900a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -58,7 +58,13 @@ jobs: run: | apt-get -y install adduser sudo pkg-config libtool autoconf \ automake g++ bison flex make bash-completion dh-autoreconf \ - debhelper devscripts wget python3-pip + debhelper devscripts wget python3-full python3-pip + - name: Setup Python venv + shell: bash + run: | + python3 -m venv ../venv + source ../venv/bin/activate + echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python build tools run: python3 -m pip install --no-input gcovr - name: Install build dependencies diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index d1a1188c08..7842662061 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -22,7 +22,13 @@ jobs: run: | apt-get -y install pkg-config libtool autoconf \ automake g++ bison flex make bash-completion dh-autoreconf \ - debhelper devscripts wget python3-pip + debhelper devscripts wget python3-full python3-pip + - name: Setup Python venv + shell: bash + run: | + python3 -m venv ../venv + source ../venv/bin/activate + echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools run: python3 -m pip install --no-input cpplint flake8 - name: Install build dependencies @@ -134,9 +140,13 @@ jobs: - name: Update package database run: apt-get update -y - name: Install build tools + run: apt-get -y install make python3-full python3-pip + - name: Setup Python venv shell: bash run: | - apt-get -y install make python3-pip + python3 -m venv ../venv + source ../venv/bin/activate + echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools run: python3 -m pip install --no-input cpplint - name: Enable Problem Matcher for GitHub annotations @@ -167,9 +177,13 @@ jobs: - name: Update package database run: apt-get update -y - name: Install build tools + run: apt-get -y install make python3-full python3-pip + - name: Setup Python venv shell: bash run: | - apt-get -y install make python3-pip + python3 -m venv ../venv + source ../venv/bin/activate + echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools run: python3 -m pip install --no-input flake8 - name: Setup flake8 annotations @@ -229,7 +243,13 @@ jobs: - name: Update package database run: apt-get update -y - name: Install lint tools - run: apt-get -y install python3-pip git moreutils + run: apt-get -y install python3-full python3-pip git moreutils + - name: Setup Python venv + shell: bash + run: | + python3 -m venv ../venv + source ../venv/bin/activate + echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools run: python3 -m pip install --no-input git+https://github.com/codespell-project/codespell.git - name: Setup codespell annotations From d172290a3ec63d52d24793d7a7ad30f77da9f112 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 15:09:01 -0400 Subject: [PATCH 60/67] github actions build and lint fix python3 venv also use system packages --- .github/workflows/build.yaml | 2 +- .github/workflows/lint.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cdb343900a..9acaec9b69 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -62,7 +62,7 @@ jobs: - name: Setup Python venv shell: bash run: | - python3 -m venv ../venv + python3 -m venv --system-site-packages ../venv source ../venv/bin/activate echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python build tools diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 7842662061..14cb81c08f 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -26,7 +26,7 @@ jobs: - name: Setup Python venv shell: bash run: | - python3 -m venv ../venv + python3 -m venv --system-site-packages ../venv source ../venv/bin/activate echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools @@ -144,7 +144,7 @@ jobs: - name: Setup Python venv shell: bash run: | - python3 -m venv ../venv + python3 -m venv --system-site-packages ../venv source ../venv/bin/activate echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools @@ -181,7 +181,7 @@ jobs: - name: Setup Python venv shell: bash run: | - python3 -m venv ../venv + python3 -m venv --system-site-packages ../venv source ../venv/bin/activate echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools @@ -247,7 +247,7 @@ jobs: - name: Setup Python venv shell: bash run: | - python3 -m venv ../venv + python3 -m venv --system-site-packages ../venv source ../venv/bin/activate echo "PATH=$PATH" >> $GITHUB_ENV - name: Install Python lint tools From f74f6b4972d7c25f8113ea9480b1042ce3d8d357 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 15:20:30 -0400 Subject: [PATCH 61/67] github actions build python3 venv PATH in builduser --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9acaec9b69..1bc147c904 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -84,7 +84,7 @@ jobs: chown -R builduser:builduser . chown builduser:builduser .. - name: Autoreconf - run: sudo -u builduser autoreconf -i + run: sudo --preserve-env -u builduser env "PATH=$PATH" autoreconf -i - name: Set configure arguments run: | echo "GH_OLA_CONFIGURE_ARGS=${{ matrix.configure-args }}" >> $GITHUB_ENV @@ -96,9 +96,9 @@ jobs: - name: Print configure command run: echo "./configure $GH_OLA_CONFIGURE_ARGS" - name: Configure - run: sudo -u builduser ./configure $GH_OLA_CONFIGURE_ARGS + run: sudo --preserve-env -u builduser env "PATH=$PATH" ./configure $GH_OLA_CONFIGURE_ARGS - name: ${{ matrix.task }} - run: sudo -u builduser make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From 67fd34e7629fb17c31cdf1e8d44dc915d41a04f5 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 16:36:30 -0400 Subject: [PATCH 62/67] github actions build revert to Debian 11 now due to OOM issue with CI runner --- .github/workflows/build.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1bc147c904..74f0695eaa 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,7 +13,8 @@ jobs: - id: "coverage-debian-stable-amd64-gcc" task: "coverage" configure-args: "--enable-ja-rule --enable-e133 --enable-unittests --enable-gcov" - container: "debian:stable" + # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions + container: "debian:11" compiler: CC: "/usr/bin/gcc" CXX: "/usr/bin/g++" @@ -21,7 +22,8 @@ jobs: - id: "distcheck-debian-stable-amd64-gcc" task: "distcheck" configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" - container: "debian:stable" + # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions + container: "debian:11" compiler: CC: "/usr/bin/gcc" CXX: "/usr/bin/g++" @@ -29,7 +31,8 @@ jobs: - id: "distcheck-debian-stable-amd64-clang" task: "distcheck" configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" - container: "debian:stable" + # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions + container: "debian:11" compiler: CC: "/usr/bin/clang" CXX: "/usr/bin/clang++" From 57b9d3034d4bf2e45504d105da8d6c1bddedc3b8 Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 17:17:13 -0400 Subject: [PATCH 63/67] github actions build literal j1 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 74f0695eaa..ca8126d40f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -101,7 +101,7 @@ jobs: - name: Configure run: sudo --preserve-env -u builduser env "PATH=$PATH" ./configure $GH_OLA_CONFIGURE_ARGS - name: ${{ matrix.task }} - run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 + run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j1 VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From 38c309103c59c995e86473811173f311be20ac5f Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 17:44:15 -0400 Subject: [PATCH 64/67] github actions build debian 12 stable --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ca8126d40f..d682b702af 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,7 +14,7 @@ jobs: task: "coverage" configure-args: "--enable-ja-rule --enable-e133 --enable-unittests --enable-gcov" # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions - container: "debian:11" + container: "debian:stable" compiler: CC: "/usr/bin/gcc" CXX: "/usr/bin/g++" @@ -23,7 +23,7 @@ jobs: task: "distcheck" configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions - container: "debian:11" + container: "debian:stable" compiler: CC: "/usr/bin/gcc" CXX: "/usr/bin/g++" @@ -32,7 +32,7 @@ jobs: task: "distcheck" configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs" # TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions - container: "debian:11" + container: "debian:stable" compiler: CC: "/usr/bin/clang" CXX: "/usr/bin/clang++" From fd4a3da4193e2874d020c34cb293b14f14d3c88f Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 17:44:37 -0400 Subject: [PATCH 65/67] github actions build ubuntu latest --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d682b702af..9fb29ca5d6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,7 +3,7 @@ on: [push, pull_request] jobs: build: name: "${{ matrix.id }}" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest container: ${{ matrix.container }} timeout-minutes: 360 strategy: From b8d4879a7de1f033ac4beaaf9d613604ff2dccfb Mon Sep 17 00:00:00 2001 From: Perry Naseck Date: Tue, 13 Jun 2023 17:48:37 -0400 Subject: [PATCH 66/67] github actions build fix num cpu cores --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9fb29ca5d6..fa9f9045d8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,6 +42,7 @@ jobs: CXX: "${{ matrix.compiler.CXX }}" steps: - name: Get number of CPU cores + id: num-cpu-cores # TODO(Perry): Parallelization causes GH Actions to hang -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} # run: echo "NUM_CPU_CORES=$(grep -c processor /proc/cpuinfo)" >> $GITHUB_OUTPUT run: echo "NUM_CPU_CORES=1" >> $GITHUB_OUTPUT @@ -101,7 +102,7 @@ jobs: - name: Configure run: sudo --preserve-env -u builduser env "PATH=$PATH" ./configure $GH_OLA_CONFIGURE_ARGS - name: ${{ matrix.task }} - run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j1 VERBOSE=1 + run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1 - name: Display structure of the built files if: always() && env.ACTIONS_STEP_DEBUG == 'true' run: ls -alR From ad508e53b88a816328e4b86f1e80999f858b9f8f Mon Sep 17 00:00:00 2001 From: Perry Naseck <4472083+DaAwesomeP@users.noreply.github.com> Date: Sun, 18 Jun 2023 12:52:22 -0400 Subject: [PATCH 67/67] github actions build verify trees todo Perry Co-authored-by: Peter Newman --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fa9f9045d8..554baa985f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -182,7 +182,7 @@ jobs: run: apt-get update -y - name: Install Python run: apt-get -y install python3 python-is-python3 - # Disable problem matcher for now until verify trees is fixed + # TODO(Perry): Disable problem matcher for now until verify trees is fixed # - name: Enable Problem Matcher for GitHub annotations # run: echo "::add-matcher::.github/problem-matcher-build-verify-trees.json" - name: Find dist build tarball