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 1111
1212permissions :
1313 contents : write
14+ packages : write
1415
1516jobs :
16- release-snapshot :
17+ release-main :
1718 runs-on : ubuntu-22.04
1819 steps :
1920 - name : Checkout
2425 uses : actions/setup-go@v4
2526 with :
2627 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 }}
2842 - name : Run GoReleaser
2943 uses : goreleaser/goreleaser-action@v4
3044 with :
3448 env :
3549 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3650 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 2020 uses : actions/setup-go@v4
2121 with :
2222 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 }}
2437 - name : Run GoReleaser
2538 uses : goreleaser/goreleaser-action@v4
2639 with :
Original file line number Diff line number Diff line change @@ -65,3 +65,43 @@ brews:
6565 owner : gptscript-ai
6666 name : homebrew-tap
6767 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