@@ -61,12 +61,27 @@ jobs:
6161 /tmp/test_venv/bin/pip install dist_fixed/*.whl
6262 /tmp/test_venv/bin/python -c "import dmPython; print('dmPython version:', dmPython.version)"
6363
64+ - name : Check DM secrets availability
65+ id : dm_ready
66+ if : ${{ matrix.python-version == '3.10' }}
67+ env :
68+ DM_TEST_HOST : ${{ secrets.DM_TEST_HOST }}
69+ DM_TEST_PORT : ${{ secrets.DM_TEST_PORT }}
70+ DM_TEST_USER : ${{ secrets.DM_TEST_USER }}
71+ DM_TEST_PASSWORD : ${{ secrets.DM_TEST_PASSWORD }}
72+ run : |
73+ if [ -n "$DM_TEST_HOST" ] && [ -n "$DM_TEST_PORT" ] && [ -n "$DM_TEST_USER" ] && [ -n "$DM_TEST_PASSWORD" ]; then
74+ echo "available=true" >> "$GITHUB_OUTPUT"
75+ else
76+ echo "available=false" >> "$GITHUB_OUTPUT"
77+ fi
78+
6479 - name : Build extension for optional integration tests
65- if : ${{ matrix.python-version == '3.10' && secrets.DM_TEST_HOST != '' && secrets.DM_TEST_PORT != '' && secrets.DM_TEST_USER != '' && secrets.DM_TEST_PASSWORD ! = '' }}
80+ if : ${{ matrix.python-version == '3.10' && steps.dm_ready.outputs.available = = 'true ' }}
6681 run : DMPYTHON_SKIP_GO_BUILD=1 python setup.py build_ext --inplace
6782
6883 - name : Run optional DM integration tests
69- if : ${{ matrix.python-version == '3.10' && secrets.DM_TEST_HOST != '' && secrets.DM_TEST_PORT != '' && secrets.DM_TEST_USER != '' && secrets.DM_TEST_PASSWORD ! = '' }}
84+ if : ${{ matrix.python-version == '3.10' && steps.dm_ready.outputs.available = = 'true ' }}
7085 env :
7186 DYLD_LIBRARY_PATH : ${{ github.workspace }}/dpi_bridge
7287 DM_TEST_HOST : ${{ secrets.DM_TEST_HOST }}
@@ -83,14 +98,14 @@ jobs:
8398 python -m pytest -q -m requires_dm tests --cov=. --cov-report=term-missing --cov-report=xml:coverage.xml
8499
85100 - name : Upload optional integration coverage
86- if : ${{ matrix.python-version == '3.10' && secrets.DM_TEST_HOST != '' && secrets.DM_TEST_PORT != '' && secrets.DM_TEST_USER != '' && secrets.DM_TEST_PASSWORD ! = '' }}
101+ if : ${{ matrix.python-version == '3.10' && steps.dm_ready.outputs.available = = 'true ' }}
87102 uses : actions/upload-artifact@v4
88103 with :
89104 name : coverage-wheel-baseline-py${{ matrix.python-version }}
90105 path : coverage.xml
91106
92107 - name : Skip optional integration tests (missing DM secrets)
93- if : ${{ matrix.python-version == '3.10' && (secrets.DM_TEST_HOST == '' || secrets.DM_TEST_PORT == '' || secrets.DM_TEST_USER == '' || secrets.DM_TEST_PASSWORD == '') }}
108+ if : ${{ matrix.python-version == '3.10' && steps.dm_ready.outputs.available != 'true' }}
94109 run : |
95110 echo "::notice::SKIP_DM_INTEGRATION: DM_TEST_HOST/PORT/USER/PASSWORD secrets are not fully configured."
96111
0 commit comments