3939
4040jobs :
4141
42+ test_python_package_build :
43+ # id: test_python_package_build
44+ name : Test Python Package Build
45+ runs-on : ubuntu-22.04
46+ timeout-minutes : ${{ vars.DEFAULT_JOB_TIMEOUT_MIN == '' && 120 || vars.DEFAULT_JOB_TIMEOUT_MIN }}
47+ steps :
48+
49+ - name : Check out code into the Go module directory
50+ 51+
52+ - name : Setup Python
53+ 54+ with :
55+ cache : pip
56+ python-version : ' 3.11'
57+
58+ - name : Install Poetry
59+ uses : snok/install-poetry@v1
60+
61+ - name : Build package
62+ run : |
63+ cicd/util/01-build-robot-lib.sh
64+ cicd/util/02-install-robot-lib.sh
65+
66+ - name : Upload python package artifact
67+ 68+ with :
69+ name : python-package-dist-folder
70+ path : test/dist
71+
72+
4273 winbuild :
4374 name : Windows Build
4475 runs-on : windows-latest
@@ -170,6 +201,7 @@ jobs:
170201 env :
171202 PSQL_EXE : C:\Program Files\PostgreSQL\13\bin\psql
172203 SQLITE_EXE : C:\ProgramData\chocolatey\lib\SQLite\tools\sqlite3.exe
204+ PYTHONPATH : ' ${{ env.PYTHONPATH }};${{ github.workspace }}\test\python'
173205 run : |
174206 python cicd/python/build.py --robot-test
175207
@@ -187,6 +219,7 @@ jobs:
187219 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
188220 AZURE_INTEGRATION_TESTING_SUB_ID : ${{ secrets.AZURE_INTEGRATION_TESTING_SUB_ID }}
189221 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
222+ PYTHONPATH : ' ${{ env.PYTHONPATH }};${{ github.workspace }}\test\python'
190223 run : | # Ideally there wiuld be forced kill of flaks here but dont know how to do that in windows
191224 python cicd/python/build.py --robot-test-integration
192225
@@ -398,6 +431,7 @@ jobs:
398431 name : Linux Test
399432 needs :
400433 - linuxbuild
434+ - test_python_package_build
401435 runs-on : ubuntu-22.04
402436 strategy :
403437 matrix :
@@ -448,6 +482,21 @@ jobs:
448482 cache : pip
449483 python-version : ' 3.11'
450484
485+ - name : Download python package dist folder
486+ 487+ with :
488+ name : python-package-dist-folder
489+ path : test/dist
490+
491+ - name : Dummy Install python testing package
492+ run : |
493+ echo "Inspecting python package"
494+ for file in test/dist/*.whl; do
495+ # pip3 install "$file"
496+ ls -al "$file"
497+ done
498+
499+
451500 - name : Git Ref Parse
452501 id : git_ref_parse
453502 run : |
@@ -532,6 +581,8 @@ jobs:
532581 openssl req -x509 -keyout test/server/mtls/credentials/pg_rubbish_key.pem -out test/server/mtls/credentials/pg_rubbish_cert.pem -config test/server/mtls/openssl.cnf -days 365
533582
534583 - name : Run robot mocked functional tests
584+ env :
585+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
535586 if : success()
536587 run : |
537588 if [ "${{ matrix.registry }}" = "test/registry" ]; then
@@ -551,6 +602,8 @@ jobs:
551602 cat ./test/robot/reports/output.xml
552603
553604 - name : Run robot mocked functional tests with aggressive concurrency
605+ env :
606+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
554607 if : success() && matrix.registry != 'test/registry'
555608 run : |
556609 echo "## Stray flask apps to be killed before robot tests ##"
@@ -570,6 +623,7 @@ jobs:
570623 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
571624 AZURE_INTEGRATION_TESTING_SUB_ID : ${{ secrets.AZURE_INTEGRATION_TESTING_SUB_ID }}
572625 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
626+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
573627 run : |
574628 echo "## Stray flask apps to be killed before robot tests ##"
575629 pgrep -f flask | xargs kill -9 || true
@@ -588,6 +642,8 @@ jobs:
588642
589643 - name : install and test deb package
590644 if : matrix.registry != 'test/registry'
645+ env :
646+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
591647 run : |
592648 mkdir -p deb_test
593649 cp stackql_${{env.BUILDMAJORVERSION}}.${{env.BUILDMINORVERSION}}.${{env.BUILDPATCHVERSION}}_amd64.deb deb_test/
@@ -604,6 +660,8 @@ jobs:
604660
605661 - name : Output from mocked deb package functional tests
606662 if : always() && matrix.registry != 'test/registry'
663+ env :
664+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
607665 run : |
608666 cat ./test/robot/reports/output.xml
609667
@@ -766,6 +824,8 @@ jobs:
766824 openssl req -x509 -keyout test/server/mtls/credentials/pg_rubbish_key.pem -out test/server/mtls/credentials/pg_rubbish_cert.pem -config test/server/mtls/openssl.cnf -days 365
767825
768826 - name : Run robot mocked functional tests
827+ env :
828+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
769829 if : success()
770830 run : |
771831 python cicd/python/build.py --robot-test --config='{ "variables": { "SHOULD_RUN_DOCKER_EXTERNAL_TESTS": "true" } }'
@@ -776,6 +836,8 @@ jobs:
776836 cat ./test/robot/reports/output.xml
777837
778838 - name : Run robot mocked functional tests with aggressive concurrency
839+ env :
840+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
779841 if : success()
780842 run : |
781843 echo "## Stray flask apps to be killed before robot tests ##"
@@ -795,6 +857,7 @@ jobs:
795857 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
796858 AZURE_INTEGRATION_TESTING_SUB_ID : ${{ secrets.AZURE_INTEGRATION_TESTING_SUB_ID }}
797859 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
860+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
798861 run : |
799862 echo "## Stray flask apps to be killed before robot tests ##"
800863 pgrep -f flask | xargs kill -9 || true
@@ -862,6 +925,7 @@ jobs:
862925 pkgName : ' stackql'
863926 pkgVersion : ${{env.BUILDMAJORVERSION}}.${{env.BUILDMINORVERSION}}.${{env.BUILDPATCHVERSION}}
864927 pkgArchitecture : ' arm64'
928+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
865929 run : |
866930 mkdir -p deb_test
867931 DEB_FILE="${pkgName}_${pkgVersion}_${pkgArchitecture}.deb"
@@ -948,6 +1012,8 @@ jobs:
9481012
9491013 - shell : wsl-bash {0}
9501014 name : Run robot mocked functional tests
1015+ env :
1016+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
9511017 run : |
9521018 . cicd/version.txt
9531019 export BUILDBRANCH="${{github.ref}}"
@@ -976,6 +1042,7 @@ jobs:
9761042 if : env.AZURE_CLIENT_SECRET != ''
9771043 env :
9781044 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
1045+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
9791046 run : |
9801047 . cicd/version.txt
9811048 export AZURE_CLIENT_ID='${{ secrets.AZURE_CLIENT_ID }}'
@@ -1096,6 +1163,8 @@ jobs:
10961163 openssl req -x509 -keyout test/server/mtls/credentials/pg_rubbish_key.pem -out test/server/mtls/credentials/pg_rubbish_cert.pem -config test/server/mtls/openssl.cnf -days 365
10971164
10981165 - name : Run robot mocked functional tests
1166+ env :
1167+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
10991168 if : success()
11001169 run : |
11011170 python cicd/python/build.py --robot-test
@@ -1112,6 +1181,7 @@ jobs:
11121181 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
11131182 AZURE_INTEGRATION_TESTING_SUB_ID : ${{ secrets.AZURE_INTEGRATION_TESTING_SUB_ID }}
11141183 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
1184+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:${{ github.workspace }}/test/python'
11151185 run : |
11161186 echo "## Stray flask apps to be killed before robot tests ##"
11171187 pgrep -f flask | xargs kill -9 || true
@@ -1571,6 +1641,8 @@ jobs:
15711641 openssl req -x509 -keyout cicd/vol/srv/credentials/pg_rubbish_key.pem -out cicd/vol/srv/credentials/pg_rubbish_cert.pem -config test/server/mtls/openssl.cnf -days 365
15721642
15731643 - name : Run robot mocked functional tests
1644+ env :
1645+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:/opt/test/python'
15741646 if : success() && env.CI_IS_EXPRESS != 'true' && matrix.platform == 'linux/amd64' && env.BUILD_IMAGE_REQUIRED == 'true' && matrix.db_backend == 'sqlite'
15751647 timeout-minutes : ${{ vars.DEFAULT_STEP_TIMEOUT_MIN == '' && 20 || vars.DEFAULT_STEP_TIMEOUT_MIN }}
15761648 run : |
@@ -1579,6 +1651,8 @@ jobs:
15791651 python cicd/python/build.py --robot-test --config='{ "variables": { "EXECUTION_PLATFORM": "docker" } }'
15801652
15811653 - name : Run POSTGRES BACKEND robot mocked functional tests
1654+ env :
1655+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:/opt/test/python'
15821656 if : success() && env.CI_IS_EXPRESS != 'true' && matrix.platform == 'linux/amd64' && env.BUILD_IMAGE_REQUIRED == 'true' && matrix.db_backend == 'postgres_tcp'
15831657 timeout-minutes : ${{ vars.DEFAULT_LONG_STEP_TIMEOUT_MIN == '' && 40 || vars.DEFAULT_LONG_STEP_TIMEOUT_MIN }}
15841658 run : |
@@ -1610,6 +1684,7 @@ jobs:
16101684 AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
16111685 AZURE_INTEGRATION_TESTING_SUB_ID : ${{ secrets.AZURE_INTEGRATION_TESTING_SUB_ID }}
16121686 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
1687+ PYTHONPATH : ' ${{ env.PYTHONPATH }}:/opt/test/python'
16131688 run : |
16141689 sudo rm -rf test/tmp || true
16151690 mkdir -p test/tmp
0 commit comments