-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (108 loc) · 2.76 KB
/
ci.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
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
name: CI
on:
pull_request:
branches: [main]
paths-ignore:
- .idea
- .vscode
- .editorconfig
- .gitignore
- LICENSE
- README.md
jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/setup-go@v5
with:
cache-dependency-path: go.sum
go-version-file: go.mod
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: package.json
- run: bun install --frozen-lockfile
- name: Install crd2pulumi
uses: jaxxstorm/[email protected]
with:
repo: pulumi/crd2pulumi
tag: v1.5.4
- run: make bin/devops
- run: make build
- run: make test
docker:
name: Docker
runs-on: ubuntu-latest
strategy:
matrix:
tool:
- ux
- uml2ts
- zod2uml
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-docker
with:
file: docker/${{ matrix.tool }}/Dockerfile
images: ghcr.io/${{ github.repository_owner }}/${{ matrix.tool }}
token: ${{ secrets.GITHUB_TOKEN }}
goreleaser:
name: GoReleaser Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: goreleaser/goreleaser-action@v6
with:
version: latest
args: check
golangci:
name: golangci-lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
cache-dependency-path: go.sum
go-version-file: go.mod
- run: |
echo "VERSION=$(cat .versions/golangci-lint)" >> "$GITHUB_ENV"
- uses: golangci/golangci-lint-action@v6
with:
version: v${{ env.VERSION }}
buf:
name: Buf
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
echo "VERSION=$(cat .versions/buf)" >> "$GITHUB_ENV"
- uses: bufbuild/buf-action@v1
with:
version: ${{ env.VERSION }}
push: false
breaking: false
bun:
name: Bun Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: package.json
- run: bun install --frozen-lockfile
md-lint:
name: Markdown Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: package.json
- run: bun install --frozen-lockfile
- run: bun lint:md