11name : dbt-tests-adapter
22on :
33 push :
4+ branches :
5+ - " **"
46 workflow_call :
57
68permissions :
@@ -13,23 +15,30 @@ jobs:
1315 fail-fast : true
1416 matrix :
1517 os : [ ubuntu-latest ]
16- python-version : ['3.10', '3.11', '3.12', '3.13']
18+ python-version : ['3.10', '3.11', '3.12', '3.13', '3.14' ]
1719
1820 services :
19- oracle_db :
20- image : container-registry. oracle.com/database/ free:latest-lite
21+ adb :
22+ image : ghcr.io/ oracle/adb- free:latest-26ai
2123 env :
22- ORACLE_PWD : ${{ secrets.DBT_ORACLE_PASSWORD }}
23- options : --name oracle_db
24+ WORKLOAD_TYPE : ATP
25+ START_ORDS : " False"
26+ ENABLE_ARCHIVE_LOG : " False"
27+ ADMIN_PASSWORD : ${{ secrets.DBT_ORACLE_ADMIN_PASSWORD }}
28+ WALLET_PASSWORD : ${{ secrets.DBT_ORACLE_TEST_WALLET_PASSWORD }}
2429 ports :
2530 - 1521:1521
31+ options : >-
32+ --name adb
33+ --cap-add SYS_ADMIN
34+ --device /dev/fuse
2635
2736 steps :
2837 - name : Check out dbt-oracle repository code
29- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
38+ uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3039
3140 - name : Set up Python ${{ matrix.python-version }}
32- uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41+ uses : actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
3342 with :
3443 python-version : ${{ matrix.python-version }}
3544
@@ -38,27 +47,24 @@ jobs:
3847 chmod +x ${{ github.workspace }}/.github/scripts/install_oracle_instantclient.sh
3948 ${{ github.workspace }}/.github/scripts/install_oracle_instantclient.sh
4049
41- - name : Copy Create User script
42- run : |
43- chmod +x ${{ github.workspace }}/.github/scripts/create_new_user.sh
44- docker cp ${{ github.workspace }}/.github/scripts/create_new_user.sh oracle_db:/home/oracle/create_new_user.sh
45-
4650 - name : Create dbt test users
4751 run : |
48- docker exec oracle_db /home/oracle/create_new_user.sh dbt_test ${{ secrets.DBT_ORACLE_PASSWORD }}
49- docker exec oracle_db /home/oracle/create_new_user.sh dbt_test_user_1 ${{ secrets.DBT_ORACLE_PASSWORD }}
50- docker exec oracle_db /home/oracle/create_new_user.sh dbt_test_user_2 ${{ secrets.DBT_ORACLE_PASSWORD }}
51- docker exec oracle_db /home/oracle/create_new_user.sh dbt_test_user_3 ${{ secrets.DBT_ORACLE_PASSWORD }}
52+ chmod +x ${{ github.workspace }}/.github/scripts/create_new_user.sh
53+ docker cp ${{ github.workspace }}/.github/scripts/create_new_user.sh adb:/tmp/create_new_user.sh
54+ docker exec adb /tmp/create_new_user.sh dbt_test \
55+ '${{ secrets.DBT_ORACLE_ADMIN_PASSWORD }}' '${{ secrets.DBT_ORACLE_PASSWORD }}'
56+ docker exec adb /tmp/create_new_user.sh dbt_test_user_1 \
57+ '${{ secrets.DBT_ORACLE_ADMIN_PASSWORD }}' '${{ secrets.DBT_ORACLE_PASSWORD }}'
58+ docker exec adb /tmp/create_new_user.sh dbt_test_user_2 \
59+ '${{ secrets.DBT_ORACLE_ADMIN_PASSWORD }}' '${{ secrets.DBT_ORACLE_PASSWORD }}'
60+ docker exec adb /tmp/create_new_user.sh dbt_test_user_3 \
61+ '${{ secrets.DBT_ORACLE_ADMIN_PASSWORD }}' '${{ secrets.DBT_ORACLE_PASSWORD }}'
5262
5363 - name : Install dbt-oracle with core dependencies
5464 run : |
5565 python -m pip install --upgrade pip
5666 pip install -e '.[test]'
5767
58- - name : Check create-pem-from-p12 script is installed in bin
59- run : |
60- create-pem-from-p12 --help
61-
6268 - name : Run adapter tests - ORA_PYTHON_DRIVER_TYPE => THICK
6369 run : |
6470 pytest -v
@@ -69,10 +75,10 @@ jobs:
6975 DBT_ORACLE_PORT : 1521
7076 DBT_ORACLE_SCHEMA : DBT_TEST
7177 DBT_ORACLE_PASSWORD : ${{ secrets.DBT_ORACLE_PASSWORD }}
72- DBT_ORACLE_DATABASE : FREEPDB1
73- DBT_ORACLE_SERVICE : FREEPDB1
78+ DBT_ORACLE_DATABASE : MYATP
79+ DBT_ORACLE_SERVICE : MYATP
7480 DBT_ORACLE_PROTOCOL : tcp
75- LD_LIBRARY_PATH : /opt/oracle/instantclient_23_7
81+ LD_LIBRARY_PATH : /opt/oracle/instantclient_23_26
7682 TNS_ADMIN : /opt/tns_admin
7783 DBT_TEST_USER_1 : DBT_TEST_USER_1
7884 DBT_TEST_USER_2 : DBT_TEST_USER_2
8894 DBT_ORACLE_PORT : 1521
8995 DBT_ORACLE_SCHEMA : DBT_TEST
9096 DBT_ORACLE_PASSWORD : ${{ secrets.DBT_ORACLE_PASSWORD }}
91- DBT_ORACLE_DATABASE : FREEPDB1
92- DBT_ORACLE_SERVICE : FREEPDB1
97+ DBT_ORACLE_DATABASE : MYATP
98+ DBT_ORACLE_SERVICE : MYATP
9399 DBT_ORACLE_PROTOCOL : tcp
94100 DISABLE_OOB : on
95101 TNS_ADMIN : /opt/tns_admin
0 commit comments