Skip to content

Commit 81beb4c

Browse files
committed
fix release action
1 parent 4090f7b commit 81beb4c

File tree

5 files changed

+136
-15
lines changed

5 files changed

+136
-15
lines changed

.github/workflows/release.yaml

+9-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
- "v*"
88
permissions:
99
contents: write
10+
11+
env:
12+
GO_VERSION: '1.20'
1013
jobs:
1114
Test:
1215
name: Unit Test
@@ -67,7 +70,7 @@ jobs:
6770
needs: [Test, GolangLint]
6871
steps:
6972
- name: Checkout
70-
uses: actions/checkout@v2
73+
uses: actions/checkout@v3
7174
with:
7275
fetch-depth: 0
7376

@@ -96,12 +99,12 @@ jobs:
9699
uses: docker/setup-buildx-action@v2
97100

98101
- name: Set up Go
99-
uses: actions/setup-go@v2
102+
uses: actions/setup-go@v4
100103
with:
101-
go-version: 1.19
102-
103-
- name: Release the karbour with GoReleaser
104-
uses: goreleaser/goreleaser-action@v2
104+
go-version: ${{ env.GO_VERSION }}
105+
cache: false
106+
- name: Release the kridge with GoReleaser
107+
uses: goreleaser/goreleaser-action@v4
105108
with:
106109
distribution: goreleaser
107110
version: latest

.goreleaser.yaml

+76-9
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ builds:
1111
# Default: [ 'darwin', 'linux', 'windows' ]
1212
goos:
1313
- linux
14-
# - windows
1514
- darwin
1615
# GOARCH to build for.
1716
# For more info refer to: https://golang.org/doc/install/source#environment
@@ -22,9 +21,45 @@ builds:
2221
- arm64
2322
ldflags:
2423
- -s -w
25-
main: ./cmd/
24+
main: ./pkg/cmd/manager
25+
id: "kridge-manager"
26+
binary: kridge-manager
27+
- env:
28+
- CGO_ENABLED=0
29+
# GOOS list to build for.
30+
# For more info refer to: https://golang.org/doc/install/source#environment
31+
#
32+
# Default: [ 'darwin', 'linux', 'windows' ]
33+
goos:
34+
- linux
35+
- darwin
36+
goarch:
37+
- amd64
38+
- arm64
39+
ldflags:
40+
- -s -w
41+
main: ./pkg/cmd/proxy
42+
id: "kridge-proxy"
43+
binary: kridge-proxy
44+
- env:
45+
- CGO_ENABLED=0
46+
goos:
47+
- linux
48+
- darwin
49+
goarch:
50+
- amd64
51+
- arm64
52+
ldflags:
53+
- -s -w
54+
main: ./pkg/cmd/cert-generator
55+
id: "cert-generator"
56+
binary: cert-generator
2657
archives:
2758
- id: release
59+
builds:
60+
- "manager"
61+
- "proxy"
62+
- "cert-generator"
2863
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
2964
builds_info:
3065
mode: 0644
@@ -101,31 +136,63 @@ release:
101136
## Docker Images
102137
* `kusionstack/kridge-manager:{{ .Tag }}`
103138
* `kusionstack/kridge-proxy:{{ .Tag }}`
104-
## Thanks!
139+
* `kusionstack/kridge-init:{{ .Tag }}`
105140
106141
dockers:
107-
- image_templates:
142+
- id: manager
143+
ids:
144+
- kridge-manager
145+
goos: linux
146+
goarch: amd64
147+
image_templates:
108148
- 'kusionstack/{{ .ProjectName }}-manager:{{ .Tag }}'
109149
- 'kusionstack/{{ .ProjectName }}-manager:latest'
110-
dockerfile: ./artifacts/images/manager.Dockerfile
150+
dockerfile: ./artifacts/goreleaser/manager.Dockerfile
111151
use: docker
112152
build_flag_templates:
113153
- "--pull"
114154
- "--label=org.opencontainers.image.created={{.Date}}"
115-
- "--label=org.opencontainers.image.name={{.ProjectName}}"
155+
- "--label=org.opencontainers.image.name={{.ProjectName}}-manager"
116156
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
117157
- "--label=org.opencontainers.image.version={{.Version}}"
118158
- "--label=org.opencontainers.image.source={{.GitURL}}"
119159
- "--platform=linux/amd64"
120-
- image_templates:
160+
- id: proxy
161+
ids:
162+
- kridge-proxy
163+
goos: linux
164+
goarch: amd64
165+
image_templates:
121166
- 'kusionstack/{{ .ProjectName }}-proxy:{{ .Tag }}'
122167
- 'kusionstack/{{ .ProjectName }}-proxy:latest'
123-
dockerfile: ./artifacts/images/proxy.Dockerfile
168+
dockerfile: ./artifacts/goreleaser/proxy.Dockerfile
169+
extra_files:
170+
- artifacts/scripts/
171+
use: docker
172+
build_flag_templates:
173+
- "--pull"
174+
- "--label=org.opencontainers.image.created={{.Date}}"
175+
- "--label=org.opencontainers.image.name={{.ProjectName}}-proxy"
176+
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
177+
- "--label=org.opencontainers.image.version={{.Version}}"
178+
- "--label=org.opencontainers.image.source={{.GitURL}}"
179+
- "--platform=linux/amd64"
180+
- id: init
181+
ids:
182+
- cert-generator
183+
goos: linux
184+
goarch: amd64
185+
image_templates:
186+
- 'kusionstack/{{ .ProjectName }}-init:{{ .Tag }}'
187+
- 'kusionstack/{{ .ProjectName }}-init:latest'
188+
dockerfile: ./artifacts/goreleaser/init.Dockerfile
189+
extra_files:
190+
- artifacts/scripts/
124191
use: docker
125192
build_flag_templates:
126193
- "--pull"
127194
- "--label=org.opencontainers.image.created={{.Date}}"
128-
- "--label=org.opencontainers.image.name={{.ProjectName}}"
195+
- "--label=org.opencontainers.image.name={{.ProjectName}}-init"
129196
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
130197
- "--label=org.opencontainers.image.version={{.Version}}"
131198
- "--label=org.opencontainers.image.source={{.GitURL}}"

artifacts/goreleaser/init.Dockerfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:focal
2+
WORKDIR /
3+
COPY cert-generator .
4+
COPY artifacts/scripts/proxy-init.sh /init.sh
5+
6+
RUN apt-get update && \
7+
apt-get install --no-install-recommends -y ca-certificates iproute2 iptables && \
8+
apt-get clean && rm -rf /var/log/*log /var/lib/apt/lists/* /var/log/apt/* /var/lib/dpkg/*-old /var/cache/debconf/*-old \
9+
10+
11+
ENTRYPOINT ["/init.sh"]
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:focal
2+
3+
WORKDIR /
4+
COPY kridge-manager .
5+
6+
RUN ln -s /usr/bin/* /usr/sbin/ && apt-get update -y \
7+
&& apt-get install --no-install-recommends -y ca-certificates \
8+
&& apt-get clean && rm -rf /var/log/*log /var/lib/apt/lists/* /var/log/apt/* /var/lib/dpkg/*-old /var/cache/debconf/*-old
9+
10+
11+
ENTRYPOINT ["/kridge-manager"]

artifacts/goreleaser/proxy.Dockerfile

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM ubuntu:focal
2+
3+
WORKDIR /
4+
COPY kridge-proxy .
5+
6+
RUN apt-get update && \
7+
apt-get install --no-install-recommends -y \
8+
ca-certificates \
9+
curl \
10+
iputils-ping \
11+
tcpdump \
12+
iproute2 \
13+
iptables \
14+
net-tools \
15+
telnet \
16+
lsof \
17+
linux-tools-generic \
18+
sudo && \
19+
apt-get clean && \
20+
rm -rf /var/log/*log /var/lib/apt/lists/* /var/log/apt/* /var/lib/dpkg/*-old /var/cache/debconf/*-old
21+
22+
# Sudoers used to allow tcpdump and other debug utilities.
23+
RUN useradd -m --uid 1359 kridge-proxy && \
24+
echo "kridge-proxy ALL=NOPASSWD: ALL" >> /etc/sudoers
25+
26+
COPY artifacts/scripts/proxy-poststart.sh /poststart.sh
27+
RUN mkdir /kridge && chmod 777 /kridge
28+
29+
ENTRYPOINT ["/kridge-proxy"]

0 commit comments

Comments
 (0)