@@ -515,3 +515,73 @@ jobs:
515515 # run: make test
516516
517517 # #########################################################################################################################
518+
519+ # ##########################
520+ # ~~~~~~~~~~~~~~~~~~~~~~~~~#
521+ # ~~~~~~|#############|~~~~#
522+ # ~~~~~~|#|~~~~~~~/##/~~~~~#
523+ # ~~~~~~|#|~~~~~/##/~~~~~~~#
524+ # ~~~~~~~~~~~~/##/~~~~~~~~~#
525+ # ~~~~~~~~~~/##/~~~~~~~~~~~#
526+ # ~~~~~~~~/##/~~~~~~~~~~~~~#
527+ # ~~~~~~/##/~~~~~~~~~~~~~~~#
528+ # ~~~~~~~~~~~~~~~~~~~~~~~~~#
529+ # Test Service Adapters #
530+ # ~~~~~~~~~~~~~~~~~~~~~~~~~#
531+ test_adapters :
532+ needs :
533+ - initialize
534+ - build
535+
536+ strategy :
537+ matrix :
538+ os :
539+ - ubuntu-20.04
540+ python-version :
541+ - 3.9
542+ adapter :
543+ - kafka
544+
545+ runs-on : ${{ matrix.os }}
546+
547+ steps :
548+ - name : Checkout
549+ uses : actions/checkout@v4
550+ with :
551+ submodules : recursive
552+
553+ - name : Set up Python ${{ matrix.python-version }}
554+ uses : ./.github/actions/setup-python
555+ with :
556+ version : ' ${{ matrix.python-version }}'
557+
558+ - name : Install python dependencies
559+ run : make requirements
560+
561+ - name : Install test dependencies
562+ shell : bash
563+ run : sudo apt-get install graphviz
564+
565+ # Download artifact
566+ - name : Download wheel
567+ uses : actions/download-artifact@v4
568+ with :
569+ name : csp-dist-${{ runner.os }}-${{ matrix.python-version }}
570+
571+ - name : Install wheel
572+ run : python -m pip install -U *manylinux2014*.whl --target .
573+
574+ - name : Spin up adapter service
575+ run : make dockerup ADAPTER=${{ matrix.adapter }}
576+
577+ # Run tests
578+ - name : Setup test flagsl
579+ shell : bash
580+ run : echo "CSP_TEST_$( echo ${{ matrix.adapter }} | awk '{print toupper($0)}' )=1" >> $GITHUB_ENV
581+
582+ - name : Python Test Steps
583+ run : make test TEST_ARGS="-k ${{ matrix.adapter }}"
584+
585+ - name : Spin down adapter service
586+ run : make dockerdown ADAPTER=${{ matrix.adapter }}
587+ if : ${{ always() }}
0 commit comments