@@ -11,7 +11,7 @@ concurrency:
1111env :
1212 DOCKER_CMAKE_FLAGS : -DDOCKER_VERIFY_THREAD=3 -DUSE_SHARED_LIBS= -DSTRICT_GSL_CHECKS=AUDIT -DCI_BUILD=ON -DENABLE_AWS=ON -DENABLE_KAFKA=ON -DENABLE_MQTT=ON -DENABLE_AZURE=ON -DENABLE_SQL=ON \
1313 -DENABLE_SPLUNK=ON -DENABLE_GCP=ON -DENABLE_OPC=ON -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_KUBERNETES=ON -DENABLE_TEST_PROCESSORS=ON -DENABLE_PROMETHEUS=ON \
14- -DENABLE_ELASTICSEARCH=ON -DENABLE_GRAFANA_LOKI=ON -DENABLE_COUCHBASE=ON -DENABLE_LLAMACPP=ON -DDOCKER_BUILD_ONLY=ON -DMINIFI_PERFORMANCE_TESTS=ON
14+ -DENABLE_ELASTICSEARCH=ON -DENABLE_GRAFANA_LOKI=ON -DENABLE_COUCHBASE=ON -DENABLE_LLAMACPP=ON -DDOCKER_BUILD_ONLY=ON -DMINIFI_PERFORMANCE_TESTS=ON -DMINIFI_RUST=OFF
1515 CCACHE_DIR : ${{ GITHUB.WORKSPACE }}/.ccache
1616jobs :
1717 macos_xcode :
@@ -552,8 +552,55 @@ jobs:
552552 with :
553553 name : behavex_output_modular
554554 path : build/behavex_output_modular
555+ rusty_docker_tests :
556+ name : " Rusty Docker integration tests (x86_64)"
557+ needs : docker_build
558+ runs-on : ubuntu-24.04
559+ timeout-minutes : 20
560+ steps :
561+ - id : checkout
562+ uses : actions/checkout@v6
563+ - id : run_cmake
564+ name : Run CMake
565+ run : |
566+ mkdir build
567+ cd build
568+ cmake ${DOCKER_CMAKE_FLAGS} ..
569+ - name : Download artifact
570+ uses : actions/download-artifact@v8
571+ with :
572+ name : minifi_docker
573+ path : build
574+ - name : Load Docker image
575+ run : |
576+ docker load --input ./build/minifi_docker.tar && docker tag apacheminificpp:1.0.0 apacheminificpp:behave
577+ - id : install_deps
578+ name : Install dependencies for Docker Verify
579+ run : |
580+ sudo apt update
581+ sudo apt install -y python3-virtualenv
582+ - id : test
583+ name : Docker Verify
584+ working-directory : ./minifi_rust
585+ run : cargo behave-alpine
586+ - name : Test Reporter
587+ if : always()
588+ uses : dorny/test-reporter@a43b3a5f7366b97d083190328d2c652e1a8b6aa2 # v3
589+ with :
590+ name : Docker integration tests
591+ path : minifi_rust/minifi_rs_behave/output/behave/*.xml
592+ reporter : java-junit
593+ only-summary : ' true'
594+ list-tests : ' failed'
595+ list-suites : ' failed'
596+ - name : Upload artifact
597+ if : failure()
598+ uses : actions/upload-artifact@v7
599+ with :
600+ name : minifi_rs_behave
601+ path : minifi_rust/minifi_rs_behave/output
555602 linters :
556- name : " C++ lint + Shellcheck + Flake8"
603+ name : " C++ lint + Shellcheck + Flake8 + Cargo check "
557604 runs-on : ubuntu-22.04-arm
558605 timeout-minutes : 15
559606 steps :
@@ -578,8 +625,14 @@ jobs:
578625 continue-on-error : true
579626 run : ./run_flake8.sh .
580627
628+ - id : cargo_check
629+ name : Cargo check
630+ continue-on-error : true
631+ run : cargo fmt --check
632+ working-directory : minifi_rust
633+
581634 - name : Check Linter Statuses
582- if : steps.cpp_lint.outcome == 'failure' || steps.shellcheck.outcome == 'failure' || steps.flake8_check.outcome == 'failure'
635+ if : steps.cpp_lint.outcome == 'failure' || steps.shellcheck.outcome == 'failure' || steps.flake8_check.outcome == 'failure' || steps.cargo_check.outcome == 'failure'
583636 run : |
584637 echo "One or more linters failed. Failing the workflow."
585638 exit 1
0 commit comments