-
Notifications
You must be signed in to change notification settings - Fork 0
44 lines (42 loc) · 2.24 KB
/
sql-review-action.yml
File metadata and controls
44 lines (42 loc) · 2.24 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
name: SQL review on pull request using bytebase-action image
on:
pull_request:
branches:
- main
paths:
- "schema/*.sql"
jobs:
check-release-on-prod:
permissions:
pull-requests: write # write permission required to allow the action writes the check results to the comment.
# runs-on: ubuntu-latest # use self-hosted machines if your Bytebase runs in internal networks.
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # set GITHUB_TOKEN because the 'Check release' step needs it to comment the pull request with check results.
BYTEBASE_URL: http://host.docker.internal:8080
BYTEBASE_SERVICE_ACCOUNT: api@service.bytebase.com # set service account via environment variable
BYTEBASE_SERVICE_ACCOUNT_SECRET: ${{ secrets.BYTEBASE_SERVICE_ACCOUNT_SECRET }} # set service account secret via environment variable
BYTEBASE_PROJECT: "projects/project-test"
BYTEBASE_TARGETS: "instances/prod-sample-instance/databases/school_prod"
FILE_PATTERN: "schema/*.sql"
run: |
ls -la schema/
docker run --rm \
--add-host=host.docker.internal:host-gateway \
-v "${{ github.workspace }}":/workspace \
-e GITHUB_TOKEN="${{ secrets.GITHUB_TOKEN }}" \
-e BYTEBASE_URL="${{ env.BYTEBASE_URL }}" \
-e BYTEBASE_SERVICE_ACCOUNT="${{ env.BYTEBASE_SERVICE_ACCOUNT }}" \
-e BYTEBASE_SERVICE_ACCOUNT_SECRET="${{ secrets.BYTEBASE_SERVICE_ACCOUNT_SECRET }}" \
-e BYTEBASE_PROJECT="${{ env.BYTEBASE_PROJECT }}" \
-e BYTEBASE_TARGETS="${{ env.BYTEBASE_TARGETS }}" \
-e GITHUB_REPOSITORY="${{ github.repository }}" \
-e GITHUB_EVENT_NUMBER="${{ github.event.number }}" \
-e GITHUB_API_URL="${{ github.api_url }}" \
-w /workspace \
bytebase/bytebase-action:3.12.0 \
sh -c "ls -la /workspace/schema/ && bytebase-action check --url=${{ env.BYTEBASE_URL }} --project=${{ env.BYTEBASE_PROJECT }} --targets=${{ env.BYTEBASE_TARGETS }} --file-pattern=${{ env.FILE_PATTERN }} --declarative"