File tree Expand file tree Collapse file tree 4 files changed +90
-3
lines changed Expand file tree Collapse file tree 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 @@ -65,3 +65,43 @@ brews:
65
65
owner : gptscript-ai
66
66
name : homebrew-tap
67
67
token : " {{ .Env.GH_PROJECT_TOKEN }}"
68
+
69
+ dockers :
70
+ - use : buildx
71
+ goos : linux
72
+ goarch : amd64
73
+ image_templates :
74
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
75
+ build_flag_templates :
76
+ - " --pull"
77
+ - " --label=org.opencontainers.image.created={{.Date}}"
78
+ - " --label=org.opencontainers.image.title={{.ProjectName}}"
79
+ - " --label=org.opencontainers.image.revision={{.FullCommit}}"
80
+ - " --label=org.opencontainers.image.version={{.Version}}"
81
+ - " --label=org.opencontainers.image.source=https://github.com/gptscript-ai/gptscript"
82
+ - " --platform=linux/amd64"
83
+ - use : buildx
84
+ goos : linux
85
+ goarch : arm64
86
+ image_templates :
87
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-arm64
88
+ build_flag_templates :
89
+ - " --pull"
90
+ - " --label=org.opencontainers.image.created={{.Date}}"
91
+ - " --label=org.opencontainers.image.title={{.ProjectName}}"
92
+ - " --label=org.opencontainers.image.revision={{.FullCommit}}"
93
+ - " --label=org.opencontainers.image.version={{.Version}}"
94
+ - " --label=org.opencontainers.image.source=https://github.com/gptscript-ai/gptscript"
95
+ - " --platform=linux/arm64"
96
+
97
+ docker_manifests :
98
+ - use : docker
99
+ name_template : ghcr.io/gptscript-ai/gptscript:v{{ .Version }}
100
+ image_templates :
101
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
102
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-arm64
103
+ - use : docker
104
+ name_template : ghcr.io/gptscript-ai/gptscript:latest
105
+ image_templates :
106
+ - ghcr.io/gptscript-ai/gptscript:v{{ .Version }}-amd64
107
+ - 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