You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by GitBox <gi...@apache.org> on 2020/07/29 07:16:14 UTC

[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #853: MINIFICPP-952 - Use GitHub Actions

fgerlits commented on a change in pull request #853:
URL: https://github.com/apache/nifi-minifi-cpp/pull/853#discussion_r461633515



##########
File path: .github/workflows/ci.yml
##########
@@ -0,0 +1,329 @@
+name: "MiNiFi-CPP CI"
+on: [push, pull_request, workflow_dispatch]
+jobs:
+  macos_xcode_10_3:
+    name: "macos-xcode10.3"
+    runs-on: macos-10.15
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/Library/Caches/Homebrew
+          key: xcode10.3-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            xcode10.3-ccache-${{github.ref}}-
+            xcode10.3-ccache-refs/heads/main-
+      - id: install_dependencies
+        run: brew install ccache ossp-uuid boost flex openssl python lua libpcap xz libssh2
+      - id: setup_env
+        run: |
+          echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE -DENABLE_LUA_SCRIPTING=1"
+          sudo xcode-select -switch /Applications/Xcode_10.3.app
+          echo "::set-env name=PATH::`brew --prefix`/opt/ccache/libexec:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4 && make test ARGS="--timeout 300 -j4 --output-on-failure" && make linter
+  macos_xcode_11_2_1:
+    name: "macos-xcode11.2.1"
+    runs-on: macos-10.15
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/Library/Caches/Homebrew
+          key: xcode11.2.1-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            xcode11.2.1-ccache-${{github.ref}}-
+            xcode11.2.1-ccache-refs/heads/main-
+      - id: install_dependencies
+        run: brew install ccache ossp-uuid boost flex openssl python lua libpcap xz libssh2
+      - id: setup_env
+        run: |
+          echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE -DENABLE_LUA_SCRIPTING=1"
+          sudo xcode-select -switch /Applications/Xcode_11.2.1.app
+          echo "::set-env name=PATH::`brew --prefix`/opt/ccache/libexec:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4 && make test ARGS="--timeout 300 -j4 --output-on-failure" && make linter
+  windows:
+    name: "windows"
+    runs-on: windows-2016
+    timeout-minutes: 90
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: build
+        run: |
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\;%path%
+          PATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin;%path%
+          PATH=C:\Program Files (x86)\Windows Kits\10\bin\x86;%path%
+          PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86;%path%
+          PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Team Tools\Performance Tools;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\Roslyn;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCPackages;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%path%
+          PATH=C:\Windows\System32\;%path%
+          win_build_vs.bat build /CI
+        shell: cmd
+  ubuntu_16_04:
+    name: "ubuntu-16.04"
+    runs-on: ubuntu-16.04
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ubuntu-16.04-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            ubuntu-16.04-ccache-${{github.ref}}-
+            ubuntu-16.04-ccache-refs/heads/main-
+      - id: install_deps
+        run: |
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE"
+          sudo apt install -y ccache
+          echo "::set-env name=PATH::/usr/lib/ccache:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4   && make test ARGS="--timeout 300 -j2 --output-on-failure"
+  ubuntu_16_04_gcc_4_8:
+    name: "ubuntu-16.04-gcc-4.8"
+    runs-on: ubuntu-16.04
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ubuntu-16.04-gcc-4.8-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            ubuntu-16.04-gcc-4.8-ccache-${{github.ref}}-
+            ubuntu-16.04-gcc-4.8-ccache-refs/heads/main-
+      - id: install_deps
+        run: |
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE"
+          sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
+          sudo apt update
+          sudo apt install -y gcc-4.8 g++-4.8 bison flex libboost-all-dev uuid-dev openssl libcurl4-openssl-dev ccache libpython3-dev liblua5.1-0-dev libpcap-dev libssh2-1-dev
+          echo "::set-env name=PATH::/usr/lib/ccache:$PATH"
+          sudo unlink /usr/bin/gcc && sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc
+          sudo unlink /usr/bin/g++ && sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4   && make test ARGS="--timeout 300 -j2 --output-on-failure"
+  ubuntu_14_04_gcc_4_8:
+    name: "ubuntu-14.04-gcc-4.8"
+    runs-on: ubuntu-18.04
+    container: ubuntu:14.04
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ubuntu-14.04-gcc-4.8-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            ubuntu-14.04-gcc-4.8-ccache-${{github.ref}}-
+            ubuntu-14.04-gcc-4.8-ccache-refs/heads/main-
+      - id: install_deps
+        run: |
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE"
+          sudo apt install -y software-properties-common
+          sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
+          sudo apt update
+          sudo apt install -y wget patch gcc-4.8 g++-4.8 bison flex libboost-all-dev uuid-dev openssl libcurl4-openssl-dev ccache libpython3-dev liblua5.1-0-dev libpcap-dev libssh2-1-dev
+          sudo unlink /usr/bin/gcc && sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc
+          sudo unlink /usr/bin/g++ && sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++
+          cd $HOME
+          wget https://github.com/Kitware/CMake/releases/download/v3.18.0/cmake-3.18.0-Linux-x86_64.sh
+          chmod a+x cmake-3.18.0-Linux-x86_64.sh
+          export CMAKE_HOME=$HOME/opt/cmake
+          mkdir -p $CMAKE_HOME
+          ./cmake-3.18.0-Linux-x86_64.sh --prefix=$CMAKE_HOME --skip-license
+          echo "::set-env name=CMAKE_ROOT::$CMAKE_HOME/share/cmake-3.18"
+          echo "::set-env name=PATH::/usr/lib/ccache:$CMAKE_HOME/bin:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= -DSTRICT_GSL_CHECKS=ON .. && make -j4 VERBOSE=1  && make test ARGS="--timeout 300 -j2 --output-on-failure"
+  ubuntu_14_04:

Review comment:
       I think we only support Ubuntu >= 16.04: https://github.com/apache/nifi-minifi-cpp#building-for-other-distros
   
   It may be time to drop 14.04 and start building on 20.04.

##########
File path: extensions/standard-processors/tests/unit/TailFileTests.cpp
##########
@@ -1521,8 +1521,8 @@ TEST_CASE("TailFile interprets the lookup frequency property correctly", "[multi
     REQUIRE(LogTestController::getInstance().contains("Logged 2 flow files"));
   }
 
-  SECTION("Lookup frequency set to 10 ms => new files are only picked up after 10 ms") {
-    plan->setProperty(tail_file, processors::TailFile::LookupFrequency.getName(), "10 ms");
+  SECTION("Lookup frequency set to 100 ms => new files are only picked up after 100 ms") {

Review comment:
       thanks for fixing this

##########
File path: .github/workflows/ci.yml
##########
@@ -0,0 +1,329 @@
+name: "MiNiFi-CPP CI"
+on: [push, pull_request, workflow_dispatch]
+jobs:
+  macos_xcode_10_3:
+    name: "macos-xcode10.3"
+    runs-on: macos-10.15
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/Library/Caches/Homebrew
+          key: xcode10.3-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            xcode10.3-ccache-${{github.ref}}-
+            xcode10.3-ccache-refs/heads/main-
+      - id: install_dependencies
+        run: brew install ccache ossp-uuid boost flex openssl python lua libpcap xz libssh2
+      - id: setup_env
+        run: |
+          echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE -DENABLE_LUA_SCRIPTING=1"
+          sudo xcode-select -switch /Applications/Xcode_10.3.app
+          echo "::set-env name=PATH::`brew --prefix`/opt/ccache/libexec:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4 && make test ARGS="--timeout 300 -j4 --output-on-failure" && make linter
+  macos_xcode_11_2_1:
+    name: "macos-xcode11.2.1"
+    runs-on: macos-10.15
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/Library/Caches/Homebrew
+          key: xcode11.2.1-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            xcode11.2.1-ccache-${{github.ref}}-
+            xcode11.2.1-ccache-refs/heads/main-
+      - id: install_dependencies
+        run: brew install ccache ossp-uuid boost flex openssl python lua libpcap xz libssh2
+      - id: setup_env
+        run: |
+          echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE -DENABLE_LUA_SCRIPTING=1"
+          sudo xcode-select -switch /Applications/Xcode_11.2.1.app
+          echo "::set-env name=PATH::`brew --prefix`/opt/ccache/libexec:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4 && make test ARGS="--timeout 300 -j4 --output-on-failure" && make linter
+  windows:
+    name: "windows"
+    runs-on: windows-2016
+    timeout-minutes: 90
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: build
+        run: |
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\;%path%
+          PATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin;%path%
+          PATH=C:\Program Files (x86)\Windows Kits\10\bin\x86;%path%
+          PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86;%path%
+          PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Team Tools\Performance Tools;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\Roslyn;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCPackages;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86;%path%
+          PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;%path%
+          PATH=C:\Windows\System32\;%path%
+          win_build_vs.bat build /CI
+        shell: cmd
+  ubuntu_16_04:
+    name: "ubuntu-16.04"
+    runs-on: ubuntu-16.04
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ubuntu-16.04-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            ubuntu-16.04-ccache-${{github.ref}}-
+            ubuntu-16.04-ccache-refs/heads/main-
+      - id: install_deps
+        run: |
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE"
+          sudo apt install -y ccache
+          echo "::set-env name=PATH::/usr/lib/ccache:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4   && make test ARGS="--timeout 300 -j2 --output-on-failure"
+  ubuntu_16_04_gcc_4_8:
+    name: "ubuntu-16.04-gcc-4.8"
+    runs-on: ubuntu-16.04
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ubuntu-16.04-gcc-4.8-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            ubuntu-16.04-gcc-4.8-ccache-${{github.ref}}-
+            ubuntu-16.04-gcc-4.8-ccache-refs/heads/main-
+      - id: install_deps
+        run: |
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE"
+          sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
+          sudo apt update
+          sudo apt install -y gcc-4.8 g++-4.8 bison flex libboost-all-dev uuid-dev openssl libcurl4-openssl-dev ccache libpython3-dev liblua5.1-0-dev libpcap-dev libssh2-1-dev
+          echo "::set-env name=PATH::/usr/lib/ccache:$PATH"
+          sudo unlink /usr/bin/gcc && sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc
+          sudo unlink /usr/bin/g++ && sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4   && make test ARGS="--timeout 300 -j2 --output-on-failure"
+  ubuntu_14_04_gcc_4_8:
+    name: "ubuntu-14.04-gcc-4.8"
+    runs-on: ubuntu-18.04
+    container: ubuntu:14.04

Review comment:
       This is confusing -- will this run on Ubuntu 14.04 or 18.04?

##########
File path: .github/workflows/ci.yml
##########
@@ -0,0 +1,329 @@
+name: "MiNiFi-CPP CI"
+on: [push, pull_request, workflow_dispatch]
+jobs:
+  macos_xcode_10_3:
+    name: "macos-xcode10.3"
+    runs-on: macos-10.15
+    timeout-minutes: 60
+    steps:
+      - id: checkout
+        uses: actions/checkout@v2
+      - id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/Library/Caches/Homebrew
+          key: xcode10.3-ccache-${{github.ref}}-${{github.sha}}
+          restore-keys: |
+            xcode10.3-ccache-${{github.ref}}-
+            xcode10.3-ccache-refs/heads/main-
+      - id: install_dependencies
+        run: brew install ccache ossp-uuid boost flex openssl python lua libpcap xz libssh2
+      - id: setup_env
+        run: |
+          echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
+          echo "::set-env name=CMAKE_BUILD_OPTIONS::-DENABLE_PCAP=TRUE -DENABLE_LUA_SCRIPTING=1"
+          sudo xcode-select -switch /Applications/Xcode_10.3.app
+          echo "::set-env name=PATH::`brew --prefix`/opt/ccache/libexec:$PATH"
+      - id: build
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=ON .. && cmake --build . --parallel 4 && make test ARGS="--timeout 300 -j4 --output-on-failure" && make linter

Review comment:
       Why is `STRICT_GSL_CHECKS` set to `ON` in some runs and `AUDIT` in others?  I think it would make sense to use AUDIT everywhere.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org