diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e4b2e3e25..22ba85085 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -41,639 +41,6 @@ env: protonBranch: "${{ github.event.inputs.protonBranch || 'main' }}" jobs: - compile: - name: "Compile (${{matrix.os}}, ${{matrix.runtimeCheck}}, proton ${{matrix.protonGitRef}})" - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04] - buildType: [Debug] - runtimeCheck: [asan] - protonGitRef: - - ${{ github.event.inputs.protonBranch || 'main' }} - - 0.38.0 - env: - BuildType: ${{matrix.buildType}} - ProtonBuildDir: ${{github.workspace}}/qpid-proton/build - RouterBuildDir: ${{github.workspace}}/skupper-router/build - InstallPrefix: ${{github.workspace}}/install - VERBOSE: 1 - - ProtonCMakeExtraArgs: > - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DBUILD_BINDINGS=python - -DBUILD_EXAMPLES=OFF - -DBUILD_TESTING=OFF - -DENABLE_FUZZ_TESTING=OFF - -DRUNTIME_CHECK=${{matrix.runtimeCheck}} - -DBUILD_TLS=ON - RouterCMakeExtraArgs: > - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG - -DUSE_BWRAP=ON - -DRUNTIME_CHECK=${{matrix.runtimeCheck}} - -DSANITIZE_PYTHON=OFF - -DBUILD_BENCHMARKS=ON - - CCACHE_BASEDIR: ${{github.workspace}} - CCACHE_DIR: ${{github.workspace}}/.ccache - CCACHE_COMPRESS: 'true' - CCACHE_MAXSIZE: '400MB' - SKUPPER_SYSTEM_TEST_SKIP_POLICY: True - SKUPPER_SYSTEM_TEST_SKIP_DELIVERY_ABORT: True - steps: - - # The option to enable + in sed regexps differs by OS so we avoid it, https://github.com/actions/upload-artifact/issues/22 - - name: Escape job identifier for artifact naming - run: | - _jobIdentifierRaw="${{matrix.os}}_${{matrix.buildType}}_${{matrix.runtimeCheck}}_${{matrix.protonGitRef}}" - jobIdentifier=$(echo -n "${_jobIdentifierRaw}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g') - echo "JOB_IDENTIFIER=${jobIdentifier}" >> $GITHUB_ENV - - - name: Show environment (Linux) - if: ${{ always() && runner.os == 'Linux' }} - run: env -0 | sort -z | tr '\0' '\n' - - - uses: actions/checkout@v3 - with: - repository: ${{ env.protonRepository }} - ref: ${{ matrix.protonGitRef }} - path: 'qpid-proton' - - - uses: actions/checkout@v3 - with: - path: 'skupper-router' - - # https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/ - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} - run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - - - uses: actions/cache@v3 - env: - cache-name: cache-ccache - with: - path: .ccache - key: ${{ github.workflow }}-${{ matrix.os }}-${{ matrix.runtimeCheck }}-${{ matrix.protonGitRef }}-${{ env.cache-name }}-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ github.workflow }}-${{ matrix.os }}-${{ matrix.runtimeCheck }}-${{ matrix.protonGitRef }}-${{ env.cache-name }} - - - name: Create Build and Install directories - run: mkdir -p "${ProtonBuildDir}" "${RouterBuildDir}" "${InstallPrefix}" - - - name: Setup python - uses: actions/setup-python@v3 - with: - python-version: 3.6 - architecture: x64 - - - name: Install Python build dependencies - run: python -m pip install setuptools wheel tox - - - name: Install Linux build dependencies - run: | - sudo apt update; sudo apt install -y libdw-dev swig libpython3-dev libsasl2-dev libjsoncpp-dev libwebsockets-dev libnghttp2-dev ccache ninja-build pixz libbenchmark-dev - - - name: Zero ccache stats - run: ccache -z - - - name: qpid-proton cmake configure - working-directory: ${{env.ProtonBuildDir}} - run: > - cmake "${{github.workspace}}/qpid-proton" \ - "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \ - "-DCMAKE_BUILD_TYPE=${BuildType}" \ - "-GNinja" \ - ${ProtonCMakeExtraArgs} - - - name: qpid-proton cmake build/install - run: cmake --build "${ProtonBuildDir}" --config ${BuildType} -t install --parallel 6 - - - name: Display ccache stats - run: ccache -s - - - name: skupper-router cmake configure - working-directory: ${{env.RouterBuildDir}} - run: > - cmake "${{github.workspace}}/skupper-router" \ - "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \ - "-DCMAKE_BUILD_TYPE=${BuildType}" \ - "-DPYTHON_TEST_COMMAND='-m;pytest;-vs;--timeout=400;--junit-prefix=pytest.\${py_test_module};--junit-xml=junitxmls/\${py_test_module}.xml;--pyargs;\${py_test_module}'" \ - "-GNinja" \ - ${RouterCMakeExtraArgs} - - - name: skupper-router cmake build/install - run: cmake --build "${RouterBuildDir}" --config ${BuildType} -t install --parallel 6 - - - name: Display ccache stats - run: ccache -s - - # github actions/upload-artifact@v2 does not preserve executable permission on binaries - - name: Compress build - working-directory: ${{github.workspace}} - run: > - tar \ - -I pixz \ - -cf /tmp/archive.tar.xz \ - --exclude '*.o' \ - --exclude '*.pyc' \ - --exclude '.git' \ - skupper-router \ - install \ - qpid-proton/build/python/pkgs - - - name: Upload archive - uses: actions/upload-artifact@v3 - with: - name: skupper_router_wrk_${{env.JOB_IDENTIFIER}} - path: /tmp/archive.tar.xz - - test: - name: 'Test (${{matrix.os}}, ${{matrix.runtimeCheck}}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})' - runs-on: ${{ matrix.os }} - needs: [compile] - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04] - buildType: [Debug] - runtimeCheck: [asan] - protonGitRef: - - ${{ github.event.inputs.protonBranch || 'main' }} - - 0.38.0 - shard: [1, 2] - shards: [2] - env: - BuildType: ${{matrix.buildType}} - ProtonBuildDir: ${{github.workspace}}/qpid-proton/build - RouterBuildDir: ${{github.workspace}}/skupper-router/build - InstallPrefix: ${{github.workspace}}/install - RouterCTestExtraArgs: "" - LD_LIBRARY_PATH: ${{github.workspace}}/install/lib - QPID_SYSTEM_TEST_TIMEOUT: 300 - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST: True - # this enables colored output - FORCE_COLOR: 1 - COLUMNS: 160 - - steps: - - # The option to enable + in sed regexps differs by OS so we avoid it, https://github.com/actions/upload-artifact/issues/22 - - name: Escape job identifier for artifact naming - run: | - _jobIdentifierRaw="${{matrix.os}}_${{matrix.buildType}}_${{matrix.runtimeCheck}}_${{matrix.protonGitRef}}" - jobIdentifier=$(echo -n "${_jobIdentifierRaw}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g') - echo "JOB_IDENTIFIER=${jobIdentifier}" >> $GITHUB_ENV - - - name: Show environment (Linux) - if: ${{ always() && runner.os == 'Linux' }} - run: env -0 | sort -z | tr '\0' '\n' - - - name: Download Build - uses: actions/download-artifact@v3 - with: - name: skupper_router_wrk_${{env.JOB_IDENTIFIER}} - - - name: Setup python - uses: actions/setup-python@v3 - with: - python-version: 3.6 - architecture: x64 - - - name: Install Linux runtime/test dependencies - run: | - sudo apt update; sudo apt install -y libdw1 libsasl2-2 libsasl2-modules sasl2-bin libjsoncpp1 libwebsockets15 libbenchmark1 pixz bubblewrap curl ncat gdb elfutils findutils file python3-dbg - - - name: Unpack archive - run: tar -I pixz -xf archive.tar.xz - - - name: Install Python runtime/test dependencies - run: python -m pip install -r ${{github.workspace}}/skupper-router/requirements-dev.txt - - - name: install qpid-proton python wheel - run: python -m pip install ${ProtonBuildDir}/python/pkgs/python_qpid_proton*.whl - - - name: CTest - working-directory: ${{env.RouterBuildDir}} - run: | - sudo sysctl -w kernel.core_pattern="coredump.%e.%p" - ulimit -c unlimited - - ctest --timeout 1200 -V --output-junit=Testing/Test.xml --no-compress-output -I ${{matrix.shard}},,${{matrix.shards}} -j100 ${{env.RouterCTestExtraArgs}} - - - name: Report coredump stacktraces (if any tests failed) - if: ${{ failure() }} - run: | - find -name 'coredump*' -exec ${{github.workspace}}/skupper-router/scripts/gha_analyze_coredump.sh {} \; - - - name: Upload test results - uses: actions/upload-artifact@v3 - if: ${{ ! cancelled() }} - with: - name: Test_Results_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: ${{env.RouterBuildDir}}/tests/junitxmls/*.xml - - - name: Delete logs from passing tests - if: ${{ failure() }} - run: python3 ${{github.workspace}}/skupper-router/scripts/gha_purge_successful_test_logs.py --build-dir=${{env.RouterBuildDir}} --no-dry-run - - - name: Upload log files (if any tests failed) - uses: actions/upload-artifact@v3 - if: failure() - with: - name: testLogs_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: | - ${{env.RouterBuildDir}}/tests - - - name: Upload core files (if any) - uses: actions/upload-artifact@v3 - if: failure() - with: - name: cores_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: | - **/coredump* - - compile_and_test: - name: "Compile and Test (${{matrix.container}}:${{matrix.containerTag}}, ${{matrix.runtimeCheck}}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})" - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04] - container: ['fedora'] - containerTag: ['37'] - buildType: [RelWithDebInfo] - runtimeCheck: [asan, tsan] - protonGitRef: - - ${{ github.event.inputs.protonBranch || 'main' }} - - 0.38.0 - shard: [ 1, 2 ] - shards: [ 2 ] - include: - # CentOS - - os: ubuntu-20.04 - container: 'centos' - containerTag: stream8 - runtimeCheck: OFF - protonGitRef: ${{ github.event.inputs.protonBranch || 'main' }} - shard: 1 - shards: 2 - - os: ubuntu-20.04 - container: 'centos' - containerTag: stream8 - runtimeCheck: OFF - protonGitRef: ${{ github.event.inputs.protonBranch || 'main' }} - shard: 2 - shards: 2 - - os: ubuntu-20.04 - container: 'centos' - containerTag: stream8 - runtimeCheck: OFF - protonGitRef: 0.38.0 - shard: 1 - shards: 2 - - os: ubuntu-20.04 - container: 'centos' - containerTag: stream8 - runtimeCheck: OFF - protonGitRef: 0.38.0 - shard: 2 - shards: 2 - # coverage - - os: ubuntu-20.04 - container: 'fedora' - containerTag: 37 - buildType: Coverage - runtimeCheck: OFF - protonGitRef: 0.38.0 - routerCTestExtraArgs: "-R 'unittests|unit_tests|threaded_timer_test|adaptor_buffer_test|router_engine_test|management_test|router_policy_test|test_command'" - shard: 1 - shards: 1 - - container: - image: 'quay.io/${{ matrix.container }}/${{ matrix.container }}:${{ matrix.containerTag }}' - volumes: - - ${{github.workspace}}:${{github.workspace}} - options: --privileged --ulimit core=-1 --security-opt apparmor:unconfined --security-opt seccomp=unconfined --sysctl net.ipv6.conf.all.disable_ipv6=0 - - env: - BuildType: ${{matrix.buildType}} - ProtonBuildDir: ${{github.workspace}}/qpid-proton/build - RouterBuildDir: ${{github.workspace}}/skupper-router/build - InstallPrefix: ${{github.workspace}}/install - RouterCTestExtraArgs: ${{matrix.routerCTestExtraArgs}} - # this enables colored output - FORCE_COLOR: 1 - COLUMNS: 160 - - # TODO(DISPATCH-2144) use -DPython_EXECUTABLE=/usr/bin/python3-debug when issue is fixed, - # as that allows for -DSANITIZE_3RD_PARTY=ON on Fedora - # TODO(https://github.com/google/sanitizers/issues/1385) some targeted asan suppressions don't work on Fedora - ProtonCMakeExtraArgs: > - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DBUILD_BINDINGS=python - -DPython_EXECUTABLE=/usr/bin/python3 - -DBUILD_EXAMPLES=OFF - -DBUILD_TESTING=OFF - -DENABLE_FUZZ_TESTING=OFF - -DRUNTIME_CHECK=${{matrix.runtimeCheck}} - -DBUILD_TLS=ON - RouterCMakeExtraArgs: > - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DPython_EXECUTABLE=/usr/bin/python3 - -DRUNTIME_CHECK=${{matrix.runtimeCheck}} - - CCACHE_BASEDIR: ${{github.workspace}} - CCACHE_DIR: ${{github.workspace}}/.ccache - CCACHE_COMPRESS: 'true' - CCACHE_MAXSIZE: '400MB' - QPID_SYSTEM_TEST_TIMEOUT: 300 - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST: True - SKUPPER_SYSTEM_TEST_SKIP_POLICY: True - SKUPPER_SYSTEM_TEST_SKIP_DELIVERY_ABORT: True - VERBOSE: 1 - - steps: - - # The option to enable + in sed regexps differs by OS so we avoid it, https://github.com/actions/upload-artifact/issues/22 - - name: Escape job identifier for artifact naming - run: | - _jobIdentifierRaw="${{matrix.os}}_${{matrix.container}}_${{matrix.buildType}}_${{matrix.runtimeCheck}}_${{matrix.protonGitRef}}" - jobIdentifier=$(echo -n "${_jobIdentifierRaw}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g') - echo "JOB_IDENTIFIER=${jobIdentifier}" >> $GITHUB_ENV - - - name: Show environment (Linux) - if: ${{ always() && runner.os == 'Linux' }} - run: env -0 | sort -z | tr '\0' '\n' - - - uses: actions/checkout@v3 - with: - repository: ${{ env.protonRepository }} - ref: ${{ matrix.protonGitRef }} - path: 'qpid-proton' - - - uses: actions/checkout@v3 - with: - path: 'skupper-router' - - - name: Enable additional package repositories for CentOS - if: ${{ matrix.container == 'centos' }} - run: | - dnf -y install epel-release - dnf config-manager --set-enabled powertools - - - name: Install Linux build dependencies - run: | - dnf install -y gcc gcc-c++ elfutils-devel cmake libuuid-devel openssl openssl-devel cyrus-sasl-devel cyrus-sasl-plain swig python3-devel python3-pip make libwebsockets-devel libnghttp2-devel ccache libasan libubsan libtsan - - - name: Install Python build dependencies - run: python3 -m pip install setuptools wheel tox - - # https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/ - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} - run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - - - uses: actions/cache@v3 - env: - cache-name: cache-ccache - with: - path: .ccache - key: ${{ github.workflow }}-${{ matrix.container }}-${{ matrix.containerTag }}-${{ matrix.runtimeCheck }}-${{ matrix.protonGitRef }}-${{ env.cache-name }}-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ github.workflow }}-${{ matrix.container }}-${{ matrix.containerTag }}-${{ matrix.runtimeCheck }}-${{ matrix.protonGitRef }}-${{ env.cache-name }} - - - name: Create Build and Install directories - run: mkdir -p "${ProtonBuildDir}" "${RouterBuildDir}" "{InstallPrefix}" - - - name: Zero ccache stats - run: ccache -z - - # PROTON-2473: either install `openssl1.1-devel` compat version, or build with `-Wno-error=deprecated-declarations` - - name: qpid-proton cmake configure - working-directory: ${{env.ProtonBuildDir}} - run: > - cmake "${{github.workspace}}/qpid-proton" \ - '-DCMAKE_C_FLAGS="-Wno-error=deprecated-declarations"' \ - "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \ - "-DCMAKE_BUILD_TYPE=${BuildType}" \ - ${ProtonCMakeExtraArgs} - - - name: qpid-proton cmake build/install - run: cmake --build "${ProtonBuildDir}" --config ${BuildType} --target install --parallel 6 - - - name: Display ccache stats - run: ccache -s - - - name: enable asserts on asan build - if: matrix.runtimeCheck == 'asan' || matrix.runtimeCheck == 'OFF' - run: echo "RouterCMakeAsserts=ON" >> $GITHUB_ENV - - - name: disable asserts on tsan build - if: matrix.runtimeCheck == 'tsan' - run: echo "RouterCMakeAsserts=OFF" >> $GITHUB_ENV - - - name: disable Python leak checking on CentOS build - if: matrix.container == 'centos' - run: echo "RouterCMakeSanitizePython=OFF" >> $GITHUB_ENV - - - name: skupper-router cmake configure - working-directory: ${{env.RouterBuildDir}} - run: > - cmake "${{github.workspace}}/skupper-router" \ - "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \ - "-DCMAKE_BUILD_TYPE=${BuildType}" \ - "-DPYTHON_TEST_COMMAND='-m;pytest;-vs;--timeout=400;--junit-prefix=pytest.\${py_test_module};--junit-xml=junitxmls/\${py_test_module}.xml;--pyargs;\${py_test_module}'" \ - ${RouterCMakeExtraArgs} -DQD_ENABLE_ASSERTIONS=${RouterCMakeAsserts} -DSANITIZE_PYTHON=${RouterCMakeSanitizePython:-ON} - - - name: skupper-router cmake build/install - run: cmake --build "${RouterBuildDir}" --config ${BuildType} --target install --parallel 6 - - - name: Display ccache stats - run: ccache -s - - - name: Show environment (Linux) - if: ${{ always() && runner.os == 'Linux' }} - run: env -0 | sort -z | tr '\0' '\n' - - - name: Upgrade pip - run: python3 -m pip install --upgrade pip - - - name: Install Python runtime/test dependencies - run: python3 -m pip install -r ${{github.workspace}}/skupper-router/requirements-dev.txt - - - name: Install Linux runtime/test dependencies - run: | - dnf install -y curl nmap-ncat gdb binutils elfutils elfutils-debuginfod-client findutils file - dnf debuginfo-install -y python3 - - - name: install qpid-proton python wheel - run: python3 -m pip install ${ProtonBuildDir}/python/pkgs/python_qpid_proton*.whl - - - name: CTest - working-directory: ${{env.RouterBuildDir}} - run: | - echo "coredump.%e.%p" > /proc/sys/kernel/core_pattern - ulimit -c unlimited - - threads=12 - if [[ "${{ matrix.runtimeCheck }}" == "tsan" ]]; then - threads=6 - fi - - ctest --timeout 1200 -V --output-junit=Testing/Test.xml --output-on-failure --no-compress-output -I ${{matrix.shard}},,${{matrix.shards}} -j${threads} ${{env.RouterCTestExtraArgs}} - - - name: Process Coverage - if: ${{ matrix.buildType == 'Coverage' }} - working-directory: ${{env.RouterBuildDir}} - run: | - dnf install -y lcov - cmake --build . --target coverage - - # https://github.com/codecov/codecov-action - - name: Upload Coverage - if: ${{ matrix.buildType == 'Coverage' }} - uses: codecov/codecov-action@v3 - with: - flags: unittests - verbose: true - gcov: true - name: skupper-router - root_dir: . - working-directory: ${{github.workspace}}/skupper-router - - - name: Report coredump stacktraces (if any tests failed) - if: ${{ failure() }} - run: | - find -name 'coredump*' -exec ${{github.workspace}}/skupper-router/scripts/gha_analyze_coredump.sh {} \; - - - name: Dump dmesg (on failure) - if: ${{ failure() }} - run: dmesg - - - name: Upload test results - uses: actions/upload-artifact@v3 - if: ${{ ! cancelled() }} - with: - name: Test_Results_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: ${{env.RouterBuildDir}}/tests/junitxmls/*.xml - - - name: Delete logs from passing tests - if: ${{ failure() }} - run: python3 ${{github.workspace}}/skupper-router/scripts/gha_purge_successful_test_logs.py --build-dir=${{env.RouterBuildDir}} --no-dry-run - - - name: Upload log files (if any tests failed) - uses: actions/upload-artifact@v3 - if: failure() - with: - name: testLogs_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: | - ${{env.RouterBuildDir}}/tests - - - name: Upload core files (if any) - uses: actions/upload-artifact@v3 - if: failure() - with: - name: cores_${{env.JOB_IDENTIFIER}}_${{matrix.shard}} - path: | - **/coredump* - - clang-format: - name: 'clang-format (${{ matrix.os }})' - runs-on: '${{ matrix.os }}' - strategy: - matrix: - os: [ 'ubuntu-20.04' ] - - env: - FORCE_COLOR: 1 - COLUMNS: 160 - - steps: - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Install clang-format - run: python3 -m pip install clang-format - - - name: Perform clang-format check - run: | - set -o pipefail - scripts/git-clang-format origin/main --diff | tee clang-format.patch - - - name: Upload the proposed patch to Artifacts - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: clang-format_patch - path: clang-format.patch - - python: - name: 'Python Checker (${{ matrix.os }})' - runs-on: '${{ matrix.os }}' - strategy: - matrix: - os: [ 'ubuntu-20.04' ] - - env: - DispatchBuildDir: ${{github.workspace}}/build - InstallPrefix: ${{github.workspace}}/install - DispatchCMakeExtraArgs: > - -GNinja - # this enables colored output - FORCE_COLOR: 1 - COLUMNS: 160 - - steps: - - - uses: actions/checkout@v3 - with: - repository: ${{ env.protonRepository }} - ref: ${{ env.protonBranch }} - path: 'qpid-proton' - - - name: Install Linux build dependencies - run: | - sudo apt update; sudo apt install -y python3-qpid-proton libpython3-dev ninja-build libwebsockets-dev libnghttp2-dev - - - name: Install qpid-proton - run: | - cmake -S qpid-proton -B qpid-proton -GNinja -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_BINDINGS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TLS=ON - cmake --build qpid-proton - sudo cmake --install qpid-proton - - - name: Install python-checker test dependencies - run: python3 -m pip install tox - - - uses: actions/checkout@v3 - - - name: Create Build and Install directories - run: mkdir -p "${DispatchBuildDir}" "{InstallPrefix}" - - - name: skupper-router cmake configure - working-directory: ${{env.DispatchBuildDir}} - run: > - cmake "${{github.workspace}}" \ - "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \ - ${DispatchCMakeExtraArgs} - - - name: CTest -R python-checker - working-directory: ${{env.DispatchBuildDir}} - run: ctest -VV -R python-checker - container: name: Container image runs-on: ubuntu-latest @@ -771,28 +138,3 @@ jobs: man skrouterd.conf man skstat man skmanage - - rat_check: - name: RAT Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - - name: Install JDK ${{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'adopt' - java-version: 11 - - - name: RAT Check - run: mvn apache-rat:check - - - name: Output - if: ${{ ! cancelled() }} - run: cat target/rat.txt || echo "Unable to print output"