Skip to content

Commit 12dbe49

Browse files
committed
test: add timeouts to prevent integration tests from hanging
1 parent 74ae5de commit 12dbe49

File tree

2 files changed

+70
-66
lines changed

2 files changed

+70
-66
lines changed
Lines changed: 68 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,68 @@
1-
name: Integration Tests
2-
3-
on:
4-
workflow_dispatch:
5-
push:
6-
branches:
7-
- main
8-
9-
permissions:
10-
id-token: write # This is required for requesting the JWT
11-
contents: read # This is required for actions/checkout
12-
13-
jobs:
14-
build-integration-tests:
15-
name: Run Integration Tests
16-
runs-on: ubuntu-latest
17-
strategy:
18-
fail-fast: false
19-
matrix:
20-
python-version: [ "3.8", "3.11" ]
21-
engine-version: [ "lts", "latest"]
22-
environment: ["mysql", "pg"]
23-
24-
steps:
25-
- name: 'Clone repository'
26-
uses: actions/checkout@v4
27-
28-
- name: 'Set up JDK 8'
29-
uses: actions/setup-java@v4
30-
with:
31-
distribution: 'corretto'
32-
java-version: 8
33-
34-
- name: Install poetry
35-
shell: bash
36-
run: |
37-
pipx install poetry==1.8.2
38-
poetry config virtualenvs.prefer-active-python true
39-
40-
- name: Install dependencies
41-
run: poetry install
42-
43-
- name: 'Configure AWS Credentials'
44-
uses: aws-actions/configure-aws-credentials@v4
45-
with:
46-
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_DEPLOY_ROLE }}
47-
role-session-name: python_integration_tests
48-
role-duration-seconds: 21600
49-
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
50-
51-
- name: 'Run Integration Tests'
52-
run: |
53-
./gradlew --no-parallel --no-daemon test-python-${{ matrix.python-version }}-${{ matrix.environment }} --info
54-
env:
55-
RDS_CLUSTER_DOMAIN: ${{ secrets.DB_CONN_SUFFIX }}
56-
RDS_DB_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
57-
AURORA_MYSQL_DB_ENGINE_VERSION: ${{ matrix.engine-version }}
58-
AURORA_PG_ENGINE_VERSION: ${{ matrix.engine-version }}
59-
60-
- name: 'Archive results'
61-
if: always()
62-
uses: actions/upload-artifact@v4
63-
with:
64-
name: pytest-integration-report-${{ matrix.python-version }}-${{ matrix.environment }}-${{ matrix.engine-version }}
65-
path: ./tests/integration/container/reports
66-
retention-days: 5
1+
name: Integration Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
- test/hanging-efm2-integration-test
9+
10+
permissions:
11+
id-token: write # This is required for requesting the JWT
12+
contents: read # This is required for actions/checkout
13+
14+
jobs:
15+
build-integration-tests:
16+
name: Run Integration Tests
17+
runs-on: ubuntu-latest
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
python-version: [ "3.11" ]
22+
engine-version: [ "latest"]
23+
environment: ["mysql", "pg"]
24+
25+
steps:
26+
- name: 'Clone repository'
27+
uses: actions/checkout@v4
28+
29+
- name: 'Set up JDK 8'
30+
uses: actions/setup-java@v4
31+
with:
32+
distribution: 'corretto'
33+
java-version: 8
34+
35+
- name: Install poetry
36+
shell: bash
37+
run: |
38+
pipx install poetry==1.8.2
39+
poetry config virtualenvs.prefer-active-python true
40+
41+
- name: Install dependencies
42+
run: poetry install
43+
44+
- name: 'Configure AWS Credentials'
45+
uses: aws-actions/configure-aws-credentials@v4
46+
with:
47+
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_DEPLOY_ROLE }}
48+
role-session-name: python_integration_tests
49+
role-duration-seconds: 21600
50+
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
51+
52+
- name: 'Run Integration Tests'
53+
run: |
54+
./gradlew --no-parallel --no-daemon test-python-${{ matrix.python-version }}-${{ matrix.environment }} --info
55+
env:
56+
RDS_CLUSTER_DOMAIN: ${{ secrets.DB_CONN_SUFFIX }}
57+
RDS_DB_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
58+
AURORA_MYSQL_DB_ENGINE_VERSION: ${{ matrix.engine-version }}
59+
AURORA_PG_ENGINE_VERSION: ${{ matrix.engine-version }}
60+
FILTER: test_host_monitoring_v2_network_failure_detection
61+
62+
- name: 'Archive results'
63+
if: always()
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: pytest-integration-report-${{ matrix.python-version }}-${{ matrix.environment }}-${{ matrix.engine-version }}
67+
path: ./tests/integration/container/reports
68+
retention-days: 5

tests/integration/container/test_host_monitoring_v2.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ def props(self):
5555
p: Properties = Properties({"plugins": "host_monitoring_v2",
5656
"socket_timeout": 30,
5757
"connect_timeout": 10,
58+
"monitoring-connect_timeout": 5,
59+
"monitoring-socket_timeout": 5,
5860
"failure_detection_time_ms": 5_000,
5961
"failure_detection_interval_ms": 5_000,
6062
"failure_detection_count": 1,

0 commit comments

Comments
 (0)