@@ -50,17 +50,59 @@ jobs:
5050 python : ['3.9', '3.10', '3.11', '3.12']
5151
5252 steps :
53- - uses : actions/checkout@v4
53+ - uses : actions/checkout@v5
5454 - name : Install poetry
5555 run : make install-poetry
5656 - uses : actions/setup-python@v5
5757 with :
5858 python-version : ${{ matrix.python }}
59- cache : poetry
60- cache-dependency-path : ./poetry.lock
59+ - name : Install system dependencies
60+ run : sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
6161 - name : Install
6262 run : make install-dependencies
63- - name : Linters
63+ - name : Run linters
6464 run : make lint
65- - name : Tests
66- run : make test-coverage
65+ - name : Run unit tests with coverage
66+ run : COVERAGE=1 make test
67+ - name : Generate coverage report (85%) # Coverage threshold should only increase over time — never decrease it!
68+ run : COVERAGE_FAIL_UNDER=85 make coverage-report
69+
70+ integration-test :
71+ runs-on : ubuntu-22.04
72+ strategy :
73+ matrix :
74+ python : ['3.9', '3.10', '3.11', '3.12']
75+
76+ steps :
77+ - uses : actions/checkout@v5
78+ - name : Install system dependencies
79+ run : sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
80+ - name : Install
81+ run : make install
82+
83+ - name : Run integration tests with coverage
84+ run : COVERAGE=1 make test-integration
85+ - name : Show debug logs
86+ if : ${{ failure() }}
87+ run : docker compose -f dev/docker-compose.yml logs
88+
89+ - name : Run s3 integration tests with coverage
90+ run : COVERAGE=1 make test-s3
91+ - name : Show debug logs
92+ if : ${{ failure() }}
93+ run : docker compose -f dev/docker-compose.yml logs
94+
95+ - name : Run adls integration tests with coverage
96+ run : COVERAGE=1 make test-adls
97+ - name : Show debug logs
98+ if : ${{ failure() }}
99+ run : docker compose -f dev/docker-compose-azurite.yml logs
100+
101+ - name : Run gcs integration tests with coverage
102+ run : COVERAGE=1 make test-gcs
103+ - name : Show debug logs
104+ if : ${{ failure() }}
105+ run : docker compose -f dev/docker-compose-gcs-server.yml logs
106+
107+ - name : Generate coverage report (75%) # Coverage threshold should only increase over time — never decrease it!
108+ run : COVERAGE_FAIL_UNDER=75 make coverage-report
0 commit comments