1+ name : Integration Tests
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ pull_request :
8+
9+ jobs :
10+ run-e2e-tests :
11+ runs-on : ubuntu-latest
12+ environment : azure-prod
13+ env :
14+ DATABRICKS_SERVER_HOSTNAME : ${{ secrets.DATABRICKS_HOST }}
15+ DATABRICKS_HTTP_PATH : ${{ secrets.TEST_PECO_WAREHOUSE_HTTP_PATH }}
16+ DATABRICKS_TOKEN : ${{ secrets.DATABRICKS_TOKEN }}
17+ DATABRICKS_CATALOG : peco
18+ DATABRICKS_USER : ${{ secrets.TEST_PECO_SP_ID }}
19+ steps :
20+ # ----------------------------------------------
21+ # check-out repo and set-up python
22+ # ----------------------------------------------
23+ - name : Check out repository
24+ uses : actions/checkout@v4
25+ - name : Set up python
26+ id : setup-python
27+ uses : actions/setup-python@v5
28+ with :
29+ python-version : " 3.10"
30+ # ----------------------------------------------
31+ # ----- install & configure poetry -----
32+ # ----------------------------------------------
33+ - name : Install Poetry
34+ uses : snok/install-poetry@v1
35+ with :
36+ virtualenvs-create : true
37+ virtualenvs-in-project : true
38+ installer-parallel : true
39+
40+ # ----------------------------------------------
41+ # load cached venv if cache exists
42+ # ----------------------------------------------
43+ - name : Load cached venv
44+ id : cached-poetry-dependencies
45+ uses : actions/cache@v4
46+ with :
47+ path : .venv
48+ key : venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
49+ # ----------------------------------------------
50+ # install dependencies if cache does not exist
51+ # ----------------------------------------------
52+ - name : Install dependencies
53+ run : poetry install --no-interaction --all-extras
54+ # ----------------------------------------------
55+ # run test suite
56+ # ----------------------------------------------
57+ - name : Run e2e tests
58+ run : poetry run python -m pytest tests/e2e -n auto
0 commit comments