@@ -161,61 +161,61 @@ jobs:
161
161
# run integration tests on the oldest and newest supported versions of python.
162
162
# we don't run on the entire matrix to avoid a 3xN set of concurrent tests against
163
163
# the target server where N is the number of supported python versions.
164
- # - name: run-integration-tests
165
- # shell: bash
164
+ - name : run-integration-tests
165
+ shell : bash
166
166
167
- # # keep versions consistent with the first and last from the strategy matrix
168
- # if: ${{ (contains(fromJSON('["3.9"]'), matrix.python) || contains(fromJSON('["3.13"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}}
169
- # run: |
170
- # # decrypt the encrypted test synapse configuration
171
- # openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d
172
- # mv test.synapseConfig ~/.synapseConfig
173
-
174
- # if [ "${{ startsWith(matrix.os, 'ubuntu') }}" == "true" ]; then
175
- # # on linux only we can build and run a docker container to serve as an SFTP host for our SFTP tests.
176
- # # Docker is not available on GH Action runners on Mac and Windows.
177
-
178
- # docker build -t sftp_tests - < tests/integration/synapseclient/core/upload/Dockerfile_sftp
179
- # docker run -d sftp_tests:latest
180
-
181
- # # get the internal IP address of the just launched container
182
- # export SFTP_HOST=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q))
183
-
184
- # printf "[sftp://$SFTP_HOST]\nusername: test\npassword: test\n" >> ~/.synapseConfig
185
-
186
- # # add to known_hosts so the ssh connections can be made without any prompting/errors
187
- # mkdir -p ~/.ssh
188
- # ssh-keyscan -H $SFTP_HOST >> ~/.ssh/known_hosts
189
- # fi
190
-
191
- # # set env vars used in external bucket tests from secrets
192
- # export EXTERNAL_S3_BUCKET_NAME="${{secrets.EXTERNAL_S3_BUCKET_NAME}}"
193
- # export EXTERNAL_S3_BUCKET_AWS_ACCESS_KEY_ID="${{secrets.EXTERNAL_S3_BUCKET_AWS_ACCESS_KEY_ID}}"
194
- # export EXTERNAL_S3_BUCKET_AWS_SECRET_ACCESS_KEY="${{secrets.EXTERNAL_S3_BUCKET_AWS_SECRET_ACCESS_KEY}}"
195
- # if [ ${{ steps.otel-check.outputs.run_opentelemetry }} == "true" ]; then
196
- # # Set to 'file' to enable OpenTelemetry export to file
197
- # export SYNAPSE_OTEL_INTEGRATION_TEST_EXPORTER="file"
198
- # fi
199
-
200
- # # use loadscope to avoid issues running tests concurrently that share scoped fixtures
201
- # pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n 8 --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope
202
-
203
- # # Execute the CLI tests in a non-dist way because they were causing some test instability when being run concurrently
204
- # pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration/synapseclient/test_command_line_client.py
205
- # - name: Upload otel spans
206
- # uses: actions/upload-artifact@v4
207
- # if: always()
208
- # with:
209
- # name: otel_spans_integration_testing_${{ matrix.os }}
210
- # path: tests/integration/otel_spans_integration_testing_*.ndjson
211
- # if-no-files-found: ignore
212
- # - name: Upload coverage report
213
- # id: upload_coverage_report
214
- # uses: actions/upload-artifact@v4
215
- # if: ${{ contains(fromJSON('["3.13"]'), matrix.python) && contains(fromJSON('["ubuntu-22.04"]'), matrix.os)}}
216
- # with:
217
- # name: coverage-report
218
- # path: coverage.xml
167
+ # keep versions consistent with the first and last from the strategy matrix
168
+ if : ${{ (contains(fromJSON('["3.9"]'), matrix.python) || contains(fromJSON('["3.13"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}}
169
+ run : |
170
+ # decrypt the encrypted test synapse configuration
171
+ openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d
172
+ mv test.synapseConfig ~/.synapseConfig
173
+
174
+ if [ "${{ startsWith(matrix.os, 'ubuntu') }}" == "true" ]; then
175
+ # on linux only we can build and run a docker container to serve as an SFTP host for our SFTP tests.
176
+ # Docker is not available on GH Action runners on Mac and Windows.
177
+
178
+ docker build -t sftp_tests - < tests/integration/synapseclient/core/upload/Dockerfile_sftp
179
+ docker run -d sftp_tests:latest
180
+
181
+ # get the internal IP address of the just launched container
182
+ export SFTP_HOST=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q))
183
+
184
+ printf "[sftp://$SFTP_HOST]\nusername: test\npassword: test\n" >> ~/.synapseConfig
185
+
186
+ # add to known_hosts so the ssh connections can be made without any prompting/errors
187
+ mkdir -p ~/.ssh
188
+ ssh-keyscan -H $SFTP_HOST >> ~/.ssh/known_hosts
189
+ fi
190
+
191
+ # set env vars used in external bucket tests from secrets
192
+ export EXTERNAL_S3_BUCKET_NAME="${{secrets.EXTERNAL_S3_BUCKET_NAME}}"
193
+ export EXTERNAL_S3_BUCKET_AWS_ACCESS_KEY_ID="${{secrets.EXTERNAL_S3_BUCKET_AWS_ACCESS_KEY_ID}}"
194
+ export EXTERNAL_S3_BUCKET_AWS_SECRET_ACCESS_KEY="${{secrets.EXTERNAL_S3_BUCKET_AWS_SECRET_ACCESS_KEY}}"
195
+ if [ ${{ steps.otel-check.outputs.run_opentelemetry }} == "true" ]; then
196
+ # Set to 'file' to enable OpenTelemetry export to file
197
+ export SYNAPSE_OTEL_INTEGRATION_TEST_EXPORTER="file"
198
+ fi
199
+
200
+ # use loadscope to avoid issues running tests concurrently that share scoped fixtures
201
+ pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n 8 --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope
202
+
203
+ # Execute the CLI tests in a non-dist way because they were causing some test instability when being run concurrently
204
+ pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration/synapseclient/test_command_line_client.py
205
+ - name : Upload otel spans
206
+ uses : actions/upload-artifact@v4
207
+ if : always()
208
+ with :
209
+ name : otel_spans_integration_testing_${{ matrix.os }}
210
+ path : tests/integration/otel_spans_integration_testing_*.ndjson
211
+ if-no-files-found : ignore
212
+ - name : Upload coverage report
213
+ id : upload_coverage_report
214
+ uses : actions/upload-artifact@v4
215
+ if : ${{ contains(fromJSON('["3.13"]'), matrix.python) && contains(fromJSON('["ubuntu-22.04"]'), matrix.os)}}
216
+ with :
217
+ name : coverage-report
218
+ path : coverage.xml
219
219
220
220
sonarcloud :
221
221
needs : [test]
0 commit comments