forked from supabase/cli
-
Notifications
You must be signed in to change notification settings - Fork 0
159 lines (143 loc) · 4.96 KB
/
Copy pathcli-go-ci.yml
File metadata and controls
159 lines (143 loc) · 4.96 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: CI
on:
pull_request:
paths:
- apps/cli-go/**
merge_group:
push:
branches:
- develop
paths:
- apps/cli-go/**
permissions:
contents: read
jobs:
test:
name: Test
runs-on: blacksmith-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: apps/cli-go/go.mod
cache: true
# Required by: internal/utils/credentials/keyring_test.go
- uses: t1m0thyj/unlock-keyring@cbcf205c879ebd86add70bab3a6abfcce59a5cae # v1.2.0
- run: |
pkgs=$(go list ./pkg/... | grep -Ev 'pkg/api' | paste -sd ',' -)
go tool gotestsum -- -race -v -count=1 ./... \
-coverpkg="./cmd/...,./internal/...,${pkgs}" -coverprofile=coverage.out
- name: Check existing coverage cache
id: coverage-cache
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: apps/cli-go/coverage.out
key: cli-go-coverage-${{ github.run_id }}-v1
lookup-only: true
- name: Save coverage cache
if: steps.coverage-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: apps/cli-go/coverage.out
key: cli-go-coverage-${{ github.run_id }}-v1
coverage:
name: Coverage
needs:
- test
runs-on: blacksmith-8vcpu-ubuntu-2404
steps:
- name: Restore coverage cache
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: apps/cli-go/coverage.out
key: cli-go-coverage-${{ github.run_id }}-v1
fail-on-cache-miss: true
- name: Move coverage report
run: cp apps/cli-go/coverage.out coverage.out
working-directory: .
- uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7
with:
file: coverage.out
format: golang
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: apps/cli-go/go.mod
# Linter requires no cache
cache: false
- uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1
with:
args: --timeout 5m --verbose
version: latest
only-new-issues: true
working-directory: apps/cli-go
start:
name: Start
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: apps/cli-go/go.mod
cache: true
- run: go build main.go
- run: ./main init
- run: sed -i '/\[db.pooler\]/{n;s/.*/enabled = true/}' supabase/config.toml
- run: ./main start --workdir tests
env:
SUPABASE_INTERNAL_IMAGE_REGISTRY: ghcr.io
- name: Install websocat
run: |
sudo wget -qO /usr/local/bin/websocat https://github.com/vi/websocat/releases/latest/download/websocat.x86_64-unknown-linux-musl
sudo chmod a+x /usr/local/bin/websocat
websocat --version
- run: ./e2e-test.sh ./main
link:
name: Link
if: ${{ github.event_name == 'merge_group' || (github.event_name ==
'pull_request' && !github.event.pull_request.head.repo.fork) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: apps/cli-go/go.mod
cache: true
- run: go build main.go
- run: ./main link
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
SUPABASE_PROJECT_ID: ${{ secrets.SUPABASE_PROJECT_ID }}
codegen:
name: Codegen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: apps/cli-go/go.mod
cache: true
- run: go generate
- run: |
if ! git diff --ignore-space-at-eol --exit-code --quiet pkg; then
echo "Detected uncommitted changes after codegen. See status below:"
git diff
exit 1
fi
defaults:
run:
working-directory: apps/cli-go