Skip to content

Commit 40d5cad

Browse files
committed
Create inference-integration-deployment.yml
1 parent 4e88bea commit 40d5cad

File tree

1 file changed

+115
-0
lines changed

1 file changed

+115
-0
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
name: inference-integration-deployment
2+
3+
on:
4+
# dev or main here to work out
5+
pull-request:
6+
branches:
7+
- develop
8+
9+
jobs:
10+
integration-test-dev:
11+
name: Run Integration Tests on Databricks Dev Workspace
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: "3.10"
22+
23+
- name: Install dependencies
24+
run: |
25+
uv venv
26+
uv pip install .
27+
28+
- name: Set up Databricks CLI for Dev Workspace
29+
env:
30+
DATABRICKS_HOST: ${{ secrets.DATABRICKS_DEV_HOST }}
31+
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_DEV_TOKEN }}
32+
run: |
33+
databricks auth login --host "$DATABRICKS_HOST" --token "$DATABRICKS_TOKEN"
34+
databricks auth validate
35+
36+
- name: Run Integration Test Job on Dev
37+
env:
38+
PROFILE: ${{ secrets.DEV_PROFILE_NAME }}
39+
DB_WORKSPACE: ${{ secrets.DEV_DB_WORKSPACE }}
40+
SA_EXECUTER: ${{ secrets.DEV_SERVICE_ACCOUNT_EXECUTER }}
41+
SP_RUN_AS: ${{ secrets.DEV_SERVICE_PRINCIPAL_RUN_AS }}
42+
GROUP_TO_MANAGE: ${{ secrets.DEV_GROUP_TO_MANAGE }}
43+
PIPELINE_SA_EMAIL: ${{ secrets.DEV_PIPELINE_SA_EMAIL }}
44+
END_USER_EMAIL: ${{ secrets.DEV_END_USER_EMAIL }}
45+
DATAKIND_EMAIL: ${{ secrets.DEV_DATAKIND_EMAIL }}
46+
SCHEMAS_PATH: ${{ secrets.DEV_CUSTOM_SCHEMAS_PATH }}
47+
run: |
48+
echo "Running DAB job in dev..."
49+
databricks bundle deploy \
50+
--profile="$PROFILE" \
51+
--target=prod \
52+
--var="DB_workspace=$DB_WORKSPACE" \
53+
--var="service_account_executer=$SA_EXECUTER" \
54+
--var="service_principal_run_as=$SP_RUN_AS" \
55+
--var="datakind_group_to_manage_workflow=$GROUP_TO_MANAGE" \
56+
--var="pipeline_sa_email=$PIPELINE_SA_EMAIL" \
57+
--var="end_user_notification_email=$END_USER_EMAIL" \
58+
--var="datakind_notification_email=$DATAKIND_EMAIL" \
59+
--var="pip_install_branch=${{ github.head_ref || github.ref_name }}" \
60+
--var="custom_schemas_path=$SCHEMAS_PATH"
61+
databricks bundle run github_sourced_pdp_inference_pipeline --target dev
62+
63+
deploy-to-prod:
64+
name: Deploy DAB to Staging
65+
runs-on: ubuntu-latest
66+
needs: integration-test-dev
67+
if: success()
68+
69+
steps:
70+
- name: Checkout repository
71+
uses: actions/checkout@v4
72+
73+
- name: Set up Python
74+
uses: actions/setup-python@v5
75+
with:
76+
python-version: "3.10"
77+
78+
- name: Install dependencies
79+
run: |
80+
uv venv
81+
uv pip install .
82+
83+
- name: Set up Databricks CLI for Staging Workspace
84+
env:
85+
DATABRICKS_HOST: ${{ secrets.DATABRICKS_STAGING_HOST }}
86+
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_STAGING_TOKEN }}
87+
run: |
88+
databricks auth login --host "$DATABRICKS_HOST" --token "$DATABRICKS_TOKEN"
89+
databricks auth validate
90+
91+
- name: Deploy to staging workspace
92+
env:
93+
PROFILE: ${{ secrets.STAGING_PROFILE_NAME }}
94+
DB_WORKSPACE: ${{ secrets.STAGING_DB_WORKSPACE }}
95+
SA_EXECUTER: ${{ secrets.STAGING_SERVICE_ACCOUNT_EXECUTER }}
96+
SP_RUN_AS: ${{ secrets.STAGING_SERVICE_PRINCIPAL_RUN_AS }}
97+
GROUP_TO_MANAGE: ${{ secrets.STAGING_GROUP_TO_MANAGE }}
98+
PIPELINE_SA_EMAIL: ${{ secrets.STAGING_PIPELINE_SA_EMAIL }}
99+
END_USER_EMAIL: ${{ secrets.STAGING_END_USER_EMAIL }}
100+
DATAKIND_EMAIL: ${{ secrets.STAGING_DATAKIND_EMAIL }}
101+
SCHEMAS_PATH: ${{ secrets.STAGING_CUSTOM_SCHEMAS_PATH }}
102+
run: |
103+
databricks bundle deploy \
104+
--profile="$PROFILE" \
105+
--target=prod \
106+
--var="DB_workspace=$DB_WORKSPACE" \
107+
--var="service_account_executer=$SA_EXECUTER" \
108+
--var="service_principal_run_as=$SP_RUN_AS" \
109+
--var="datakind_group_to_manage_workflow=$GROUP_TO_MANAGE" \
110+
--var="pipeline_sa_email=$PIPELINE_SA_EMAIL" \
111+
--var="end_user_notification_email=$END_USER_EMAIL" \
112+
--var="datakind_notification_email=$DATAKIND_EMAIL" \
113+
--var="pip_install_branch=${{ github.head_ref || github.ref_name }}" \
114+
--var="custom_schemas_path=$SCHEMAS_PATH"
115+

0 commit comments

Comments
 (0)