File tree 4 files changed +90
-3
lines changed
4 files changed +90
-3
lines changed Original file line number Diff line number Diff line change 11
11
12
12
permissions :
13
13
contents : write
14
+ packages : write
14
15
15
16
jobs :
16
- release-snapshot :
17
+ release-main :
17
18
runs-on : ubuntu-22.04
18
19
steps :
19
20
- name : Checkout
24
25
uses : actions/setup-go@v4
25
26
with :
26
27
cache : false
27
- go-version : " 1.21"
28
+ go-version : " 1.22"
29
+ - name : Set up QEMU
30
+ uses : docker/setup-qemu-action@v2
31
+ - name : Set up Docker Buildx
32
+ id : buildx
33
+ uses : docker/setup-buildx-action@v2
34
+ with :
35
+ buildkitd-flags : --debug
36
+ - name : Login to GitHub Container Registry
37
+ uses : docker/login-action@v2
38
+ with :
39
+ registry : ghcr.io
40
+ username : ${{ github.actor }}
41
+ password : ${{ secrets.GITHUB_TOKEN }}
28
42
- name : Run GoReleaser
29
43
uses : goreleaser/goreleaser-action@v4
30
44
with :
34
48
env :
35
49
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
36
50
GH_PROJECT_TOKEN : ${{ secrets.GH_PROJECT_TOKEN }}
51
+ - name : Push Docker Images
52
+ run : |
53
+ VERSION=v$(cat releases/metadata.json | jq -r .version)
54
+ IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep "$VERSION")
55
+ for i in ${IMAGES}; do
56
+ docker push $i
57
+ done
58
+ docker manifest create ghcr.io/gptscript-ai/gptscript:main ${IMAGES}
59
+ docker manifest push ghcr.io/gptscript-ai/gptscript:main
60
+ docker manifest create ghcr.io/gptscript-ai/gptscript:${VERSION} ${IMAGES}
61
+ docker manifest push ghcr.io/gptscript-ai/gptscript:${VERSION}
Original file line number Diff line number Diff line change 20
20
uses : actions/setup-go@v4
21
21
with :
22
22
cache : false
23
- go-version : " 1.21"
23
+ go-version : " 1.22"
24
+ - name : Set up QEMU
25
+ uses : docker/setup-qemu-action@v2
26
+ - name : Set up Docker Buildx
27
+ id : buildx
28
+ uses : docker/setup-buildx-action@v2
29
+ with :
30
+ buildkitd-flags : --debug
31
+ - name : Login to GitHub Container Registry
32
+ uses : docker/login-action@v2
33
+ with :
34
+ registry : ghcr.io
35
+ username : ${{ github.actor }}
36
+ password : ${{ secrets.GITHUB_TOKEN }}
24
37
- name : Run GoReleaser
25
38
uses : goreleaser/goreleaser-action@v4
26
39
with :
Original file line number Diff line number Diff line change @@ -66,3 +66,43 @@ brews:
66
66
owner : gptscript-ai
67
67
name : homebrew-tap
68
68
token : " {{ .Env.GH_PROJECT_TOKEN }}"
69
+
70
+ dockers :
71
+ - use : buildx
72
+ goos : linux
73
+ goarch : amd64
74
+ image_templates :
75
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
76
+ build_flag_templates :
77
+ - " --pull"
78
+ - " --label=org.opencontainers.image.created={{.Date}}"
79
+ - " --label=org.opencontainers.image.title={{.ProjectName}}"
80
+ - " --label=org.opencontainers.image.revision={{.FullCommit}}"
81
+ - " --label=org.opencontainers.image.version={{.Version}}"
82
+ - " --label=org.opencontainers.image.source=https://github.com/gptscript-ai/gptscript"
83
+ - " --platform=linux/amd64"
84
+ - use : buildx
85
+ goos : linux
86
+ goarch : arm64
87
+ image_templates :
88
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-arm64
89
+ build_flag_templates :
90
+ - " --pull"
91
+ - " --label=org.opencontainers.image.created={{.Date}}"
92
+ - " --label=org.opencontainers.image.title={{.ProjectName}}"
93
+ - " --label=org.opencontainers.image.revision={{.FullCommit}}"
94
+ - " --label=org.opencontainers.image.version={{.Version}}"
95
+ - " --label=org.opencontainers.image.source=https://github.com/gptscript-ai/gptscript"
96
+ - " --platform=linux/arm64"
97
+
98
+ docker_manifests :
99
+ - use : docker
100
+ name_template : ghcr.io/gptscript-ai/gptscript:v{{ .Version }}
101
+ image_templates :
102
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
103
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-arm64
104
+ - use : docker
105
+ name_template : ghcr.io/gptscript-ai/gptscript:latest
106
+ image_templates :
107
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
108
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-arm64
Original file line number Diff line number Diff line change
1
+ FROM golang:1.22.0-alpine3.19 AS build
2
+ RUN apk add -U --no-cache make git
3
+ COPY / /src/gptscript
4
+ WORKDIR /src/gptscript
5
+ RUN make build
6
+
7
+ FROM alpine AS release
8
+ COPY --from=build /src/gptscript/bin /usr/local/bin/
9
+ ENTRYPOINT ["/usr/local/bin/gptscript" ]
You can’t perform that action at this time.
0 commit comments