@@ -16,64 +16,62 @@ jobs:
1616 - name : Checkout code
1717 uses : actions/checkout@v4
1818
19- - name : Build test image
19+ - name : Set up Python
20+ uses : actions/setup-python@v5
21+ with :
22+ python-version : ' 3.12'
23+ cache : ' pip'
24+
25+ - name : Install dependencies
2026 run : |
21- DOCKER_BUILDKIT=1 docker build . \
22- --target python_test_base \
23- -t conductor-sdk-test:latest
27+ python -m pip install --upgrade pip
28+ pip install -e .
29+ pip install pytest pytest-cov coverage
2430
2531 - name : Prepare coverage directory
2632 run : |
2733 mkdir -p ${{ env.COVERAGE_DIR }}
28- chmod 777 ${{ env.COVERAGE_DIR }}
29- touch ${{ env.COVERAGE_FILE }}
30- chmod 666 ${{ env.COVERAGE_FILE }}
3134
3235 - name : Run unit tests
3336 id : unit_tests
3437 continue-on-error : true
38+ env :
39+ CONDUCTOR_AUTH_KEY : ${{ secrets.CONDUCTOR_AUTH_KEY }}
40+ CONDUCTOR_AUTH_SECRET : ${{ secrets.CONDUCTOR_AUTH_SECRET }}
41+ CONDUCTOR_SERVER_URL : ${{ secrets.CONDUCTOR_SERVER_URL }}
42+ COVERAGE_FILE : ${{ env.COVERAGE_DIR }}/.coverage.unit
3543 run : |
36- docker run --rm \
37- -e CONDUCTOR_AUTH_KEY=${{ secrets.CONDUCTOR_AUTH_KEY }} \
38- -e CONDUCTOR_AUTH_SECRET=${{ secrets.CONDUCTOR_AUTH_SECRET }} \
39- -e CONDUCTOR_SERVER_URL=${{ secrets.CONDUCTOR_SERVER_URL }} \
40- -v ${{ github.workspace }}/${{ env.COVERAGE_DIR }}:/package/${{ env.COVERAGE_DIR }}:rw \
41- conductor-sdk-test:latest \
42- /bin/sh -c "cd /package && COVERAGE_FILE=/package/${{ env.COVERAGE_DIR }}/.coverage.unit coverage run -m pytest tests/unit -v"
44+ coverage run -m pytest tests/unit -v
4345
4446 - name : Run backward compatibility tests
4547 id : bc_tests
4648 continue-on-error : true
49+ env :
50+ CONDUCTOR_AUTH_KEY : ${{ secrets.CONDUCTOR_AUTH_KEY }}
51+ CONDUCTOR_AUTH_SECRET : ${{ secrets.CONDUCTOR_AUTH_SECRET }}
52+ CONDUCTOR_SERVER_URL : ${{ secrets.CONDUCTOR_SERVER_URL }}
53+ COVERAGE_FILE : ${{ env.COVERAGE_DIR }}/.coverage.bc
4754 run : |
48- docker run --rm \
49- -e CONDUCTOR_AUTH_KEY=${{ secrets.CONDUCTOR_AUTH_KEY }} \
50- -e CONDUCTOR_AUTH_SECRET=${{ secrets.CONDUCTOR_AUTH_SECRET }} \
51- -e CONDUCTOR_SERVER_URL=${{ secrets.CONDUCTOR_SERVER_URL }} \
52- -v ${{ github.workspace }}/${{ env.COVERAGE_DIR }}:/package/${{ env.COVERAGE_DIR }}:rw \
53- conductor-sdk-test:latest \
54- /bin/sh -c "cd /package && COVERAGE_FILE=/package/${{ env.COVERAGE_DIR }}/.coverage.bc coverage run -m pytest tests/backwardcompatibility -v"
55+ coverage run -m pytest tests/backwardcompatibility -v
5556
5657 - name : Run serdeser tests
5758 id : serdeser_tests
5859 continue-on-error : true
60+ env :
61+ CONDUCTOR_AUTH_KEY : ${{ secrets.CONDUCTOR_AUTH_KEY }}
62+ CONDUCTOR_AUTH_SECRET : ${{ secrets.CONDUCTOR_AUTH_SECRET }}
63+ CONDUCTOR_SERVER_URL : ${{ secrets.CONDUCTOR_SERVER_URL }}
64+ COVERAGE_FILE : ${{ env.COVERAGE_DIR }}/.coverage.serdeser
5965 run : |
60- docker run --rm \
61- -e CONDUCTOR_AUTH_KEY=${{ secrets.CONDUCTOR_AUTH_KEY }} \
62- -e CONDUCTOR_AUTH_SECRET=${{ secrets.CONDUCTOR_AUTH_SECRET }} \
63- -e CONDUCTOR_SERVER_URL=${{ secrets.CONDUCTOR_SERVER_URL }} \
64- -v ${{ github.workspace }}/${{ env.COVERAGE_DIR }}:/package/${{ env.COVERAGE_DIR }}:rw \
65- conductor-sdk-test:latest \
66- /bin/sh -c "cd /package && COVERAGE_FILE=/package/${{ env.COVERAGE_DIR }}/.coverage.serdeser coverage run -m pytest tests/serdesertest -v"
66+ coverage run -m pytest tests/serdesertest -v
6767
6868 - name : Generate coverage report
6969 id : coverage_report
7070 continue-on-error : true
7171 run : |
72- docker run --rm \
73- -v ${{ github.workspace }}/${{ env.COVERAGE_DIR }}:/package/${{ env.COVERAGE_DIR }}:rw \
74- -v ${{ github.workspace }}/${{ env.COVERAGE_FILE }}:/package/${{ env.COVERAGE_FILE }}:rw \
75- conductor-sdk-test:latest \
76- /bin/sh -c "cd /package && coverage combine /package/${{ env.COVERAGE_DIR }}/.coverage.* && coverage report && coverage xml"
72+ coverage combine ${{ env.COVERAGE_DIR }}/.coverage.*
73+ coverage report
74+ coverage xml
7775
7876 - name : Verify coverage file
7977 id : verify_coverage
0 commit comments