-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (49 loc) · 1.62 KB
/
cd.yml
File metadata and controls
56 lines (49 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: CD
on:
workflow_dispatch:
push:
branches:
- 'main'
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
environment: [acc, prd]
environment: ${{ matrix.environment }}
permissions:
contents: write # to push tag
env:
DATABRICKS_HOST: ${{ vars.DATABRICKS_HOST }}
DATABRICKS_CLIENT_ID: ${{ secrets.DATABRICKS_CLIENT_ID }}
DATABRICKS_CLIENT_SECRET: ${{ secrets.DATABRICKS_CLIENT_SECRET }}
steps:
- name: Checkout Source Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
- name: Install Databricks CLI
uses: databricks/setup-cli@49580195afe1ccb06d195764a1d0ae9fabfe2edd #v0.246.0
with:
version: 0.246.0
- name: Configure Databricks CLI
run: |
mkdir -p ~/.databricks
cat > ~/.databrickscfg << EOF
[marvelous]
host = ${{ vars.DATABRICKS_HOST }}
client_id = ${{ secrets.DATABRICKS_CLIENT_ID }}
client_secret = ${{ secrets.DATABRICKS_CLIENT_SECRET }}
EOF
- name: Install uv
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 #v5.4.1
- name: Deploy to Databricks
env:
DATABRICKS_BUNDLE_ENV: ${{ matrix.environment }}
run: |
databricks bundle deploy \
--var="git_sha=${{ github.sha }}" \
--var="branch=${{ github.ref_name }}"
if [ "${{ matrix.environment }}" = "prd" ]; then
echo "VERSION=$(cat version.txt)"
git tag $VERSION
git push origin $VERSION
fi