-
Notifications
You must be signed in to change notification settings - Fork 1
56 lines (55 loc) · 1.93 KB
/
bytebase-release-cicd.yml
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
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
bytebase-cicd:
runs-on: ubuntu-latest
env:
BYTEBASE_URL: 'https://6ef3-62-192-175-167.ngrok-free.app'
BYTEBASE_PROJECT: 'projects/db333'
BYTEBASE_SERVICE_ACCOUNT: 'cicd_srv@service.bytebase.com'
BYTEBASE_TARGETS: 'instances/dbdbdb/databases/db_1,instances/dbdbdb/databases/db_101,instances/dbdbdb/databases/db_103'
FILE_PATTERN: 'migrations/*.sql'
name: Bytebase cicd
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to Bytebase
id: login
uses: bytebase/#-action@main
with:
bytebase-url: ${{ env.BYTEBASE_URL }}
service-key: ${{ env.BYTEBASE_SERVICE_ACCOUNT }}
service-secret: ${{ secrets.BYTEBASE_PASSWORD }}
- name: Create release
id: create_release
uses: bytebase/actions-create-release@main
with:
url: ${{ env.BYTEBASE_URL }}
token: ${{ steps.login.outputs.token }}
project: ${{ env.BYTEBASE_PROJECT }}
file-pattern: ${{ env.FILE_PATTERN }}
- name: Create plan
id: create_plan
uses: bytebase/actions-create-plan-from-release@main
with:
url: ${{ env.BYTEBASE_URL }}
token: ${{ steps.login.outputs.token }}
project: ${{ env.BYTEBASE_PROJECT }}
release: ${{ steps.create_release.outputs.release }}
targets: ${{ env.BYTEBASE_TARGETS }}
# fail the action if plan checks report error.
check-plan: FAIL_ON_ERROR
- name: Wait rollout to finish
id: wait_rollout
uses: bytebase/actions-wait-rollout@main
with:
url: ${{ env.BYTEBASE_URL }}
token: ${{ steps.login.outputs.token }}
plan: ${{ steps.create_plan.outputs.plan }}
# set target-stage to exit after the stage completes
# target-stage: 'Test Stage'