a0e48e3dfa24436f456d3fb783a04f2ef24a6ea2
- Author
- Ayman Bagabas <ayman.bagabas@gmail.com>
- Committer
- Ayman Bagabas <ayman.bagabas@gmail.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
2index 3901f38d57cfbe6ca4d21ccda4ec15ada612276c..3c7d41e98f38d7947ca76bbded3f2bd5a1506a2f 100644
3--- a/.github/workflows/build.yml
4+++ b/.github/workflows/build.yml
5@@ -1,7 +1,12 @@
6 name: build
7+
8 on: [push, pull_request]
9+
10+permissions:
11+ packages: write
12+
13 jobs:
14- test:
15+ build:
16 strategy:
17 matrix:
18 go-version: [~1.17, ^1]
19@@ -25,4 +30,122 @@ jobs:
20 run: go build -v ./...
21
22 - name: Test
23- run: go test ./...
24+ run: go test ./...
25+
26+ nightly:
27+ env:
28+ GO111MODULE: "on"
29+ DOCKER_CLI_EXPERIMENTAL: enabled
30+ runs-on: ubuntu-latest
31+ steps:
32+ - name: Install Go
33+ uses: actions/setup-go@v2
34+ with:
35+ go-version: "~1.17"
36+
37+ - name: Checkout code
38+ uses: actions/checkout@v2
39+
40+ - name: Login to GitHub Container Registry
41+ uses: docker/login-action@v1
42+ with:
43+ registry: ghcr.io
44+ username: ${{ github.repository_owner }}
45+ password: ${{ secrets.GITHUB_TOKEN }}
46+
47+ - name: Set up QEMU
48+ uses: docker/setup-qemu-action@v1
49+
50+ - name: Set up Docker Buildx
51+ id: buildx
52+ uses: docker/setup-buildx-action@v1
53+
54+ - name: Run GoReleaser
55+ uses: goreleaser/goreleaser-action@v2
56+ with:
57+ distribution: goreleaser
58+ version: latest
59+ args: release --snapshot --rm-dist --skip-sign
60+ env:
61+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62+ HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
63+
64+ - name: Push docker images
65+ run: |
66+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
67+
68+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-amd64 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64
69+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-arm64 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64
70+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-armv7 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7
71+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-i386 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
72+
73+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64
74+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64
75+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7
76+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
77+
78+ docker manifest create ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH \
79+ ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64 \
80+ ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64 \
81+ ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7 \
82+ ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
83+ docker manifest push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH
84+
85+ if [[ $GITHUB_REF = 'refs/heads/main' && $GITHUB_EVENT_NAME = 'push' ]]; then
86+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-amd64 ghcr.io/$GITHUB_REPOSITORY:devel-amd64
87+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-arm64 ghcr.io/$GITHUB_REPOSITORY:devel-arm64
88+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-armv7 ghcr.io/$GITHUB_REPOSITORY:devel-armv7
89+ docker tag ghcr.io/$GITHUB_REPOSITORY:latest-i386 ghcr.io/$GITHUB_REPOSITORY:devel-i386
90+
91+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-amd64
92+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-arm64
93+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-armv7
94+ docker push ghcr.io/$GITHUB_REPOSITORY:devel-i386
95+
96+ docker manifest create ghcr.io/$GITHUB_REPOSITORY:devel \
97+ ghcr.io/$GITHUB_REPOSITORY:devel-amd64 \
98+ ghcr.io/$GITHUB_REPOSITORY:devel-arm64 \
99+ ghcr.io/$GITHUB_REPOSITORY:devel-armv7 \
100+ ghcr.io/$GITHUB_REPOSITORY:devel-i386
101+ docker manifest push ghcr.io/$GITHUB_REPOSITORY:devel
102+ fi
103+
104+ - uses: actions/upload-artifact@v2
105diff --git a/.github/workflows/goreleaser-publish.yml b/.github/workflows/goreleaser-publish.yml
106deleted file mode 100644
107index 89f65fac600cc45230e79325ae7a39511831c324..0000000000000000000000000000000000000000
108--- a/.github/workflows/goreleaser-publish.yml
109+++ /dev/null
110@@ -1,60 +0,0 @@
111-name: goreleaser-publish
112-
113-on:
114- push:
115- tags:
116- - v*.*.*
117-
118-concurrency:
119- group: goreleaser
120- cancel-in-progress: true
121-
122-permissions:
123- contents: write
124- packages: write
125-
126-jobs:
127- goreleaser:
128- runs-on: ubuntu-latest
129- env:
130- DOCKER_CLI_EXPERIMENTAL: enabled
131- steps:
132- - name: Checkout
133- uses: actions/checkout@v2
134- with:
135- fetch-depth: 0
136-
137- - name: Set up Go
138- uses: actions/setup-go@v2
139- with:
140- go-version: 1.17
141-
142- - name: Login to DockerHub
143- uses: docker/login-action@v1
144- with:
145- username: ${{ secrets.DOCKERHUB_USERNAME }}
146- password: ${{ secrets.DOCKERHUB_TOKEN }}
147-
148- - name: Login to GitHub Container Registry
149- uses: docker/login-action@v1
150- with:
151- registry: ghcr.io
152- username: ${{ github.repository_owner }}
153- password: ${{ secrets.GITHUB_TOKEN }}
154-
155- - name: Set up QEMU
156- uses: docker/setup-qemu-action@v1
157-
158- - name: Set up Docker Buildx
159- id: buildx
160- uses: docker/setup-buildx-action@v1
161-
162- - name: Run GoReleaser
163- uses: goreleaser/goreleaser-action@v2
164- with:
165- distribution: goreleaser
166- version: latest
167- args: release --rm-dist --skip-sign
168- env:
169- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
170- HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
171diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml
172index 54debb9899bc93cfdef04a422cf116155d21243d..6d1008d94814e63417db09357bc283b726f0e2ec 100644
173--- a/.github/workflows/goreleaser.yml
174+++ b/.github/workflows/goreleaser.yml
175@@ -1,6 +1,17 @@
176 name: goreleaser
177
178-on: [push, pull_request]
179+on:
180+ push:
181+ tags:
182+ - v*.*.*
183+
184+concurrency:
185+ group: goreleaser
186+ cancel-in-progress: true
187+
188+permissions:
189+ contents: write
190+ packages: write
191
192 jobs:
193 goreleaser:
194@@ -18,6 +29,19 @@ jobs:
195 with:
196 go-version: 1.17
197
198+ - name: Login to DockerHub
199+ uses: docker/login-action@v1
200+ with:
201+ username: ${{ secrets.DOCKERHUB_USERNAME }}
202+ password: ${{ secrets.DOCKERHUB_TOKEN }}
203+
204+ - name: Login to GitHub Container Registry
205+ uses: docker/login-action@v1
206+ with:
207+ registry: ghcr.io
208+ username: ${{ github.repository_owner }}
209+ password: ${{ secrets.GITHUB_TOKEN }}
210+
211 - name: Set up QEMU
212 uses: docker/setup-qemu-action@v1
213
214@@ -30,7 +54,7 @@ jobs:
215 with:
216 distribution: goreleaser
217 version: latest
218- args: release --snapshot --rm-dist --skip-sign
219+ args: release --rm-dist --skip-sign
220 env:
221 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
222 HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
223diff --git a/.goreleaser.yml b/.goreleaser.yml
224index f4952badb71e8ac5654663dbae344bbee1c0e0a5..40fab7e760f23b6543931cf2c5276a0b22a72d03 100644
225--- a/.goreleaser.yml
226+++ b/.goreleaser.yml
227@@ -76,7 +76,7 @@ signs:
228 checksum:
229 name_template: "checksums.txt"
230 snapshot:
231- name_template: "{{ .Tag }}-next"
232+ name_template: "{{ incpatch .Version }}-devel"
233 changelog:
234 sort: asc
235 filters:
236diff --git a/README.md b/README.md
237index 088690c10c6d13d2c796e805b2ff628178abc877..bdc4d185d2ed51b0ab19b99a92d260d8d37d0ab5 100644
238--- a/README.md
239+++ b/README.md
240@@ -8,6 +8,7 @@ Soft Serve
241 </picture><br>
242 <a href="https://github.com/charmbracelet/soft-serve/releases"><img src="https://img.shields.io/github/release/charmbracelet/soft-serve.svg" alt="Latest Release"></a>
243 <a href="https://github.com/charmbracelet/soft-serve/actions"><img src="https://github.com/charmbracelet/soft-serve/workflows/build/badge.svg" alt="Build Status"></a>
244+ <a href="https://nightly.link/charmbracelet/soft-serve/workflows/build/main"><img src="https://shields.io/badge/-Nightly%20Builds-orange?logo=hackthebox&logoColor=fff&style=appveyor"/></a>
245 </p>
246
247 A tasty, self-hostable Git server for the command line. 🍦
248diff --git a/docker.md b/docker.md
249index 0e6619b5a9bd6bc1a593db289ad15feff3101bbc..40f1719364239dcbc710654338ad223d91adfdbc 100644
250--- a/docker.md
251+++ b/docker.md
252@@ -1,6 +1,6 @@
253 # Running Soft-Serve with Docker
254
255-The official Soft Serve Docker images are available at [charmcli/soft-serve][docker].
256+The official Soft Serve Docker images are available at [charmcli/soft-serve][docker]. Development and nightly builds are available at [ghcr.io/charmbracelet/soft-serve][ghcr]
257
258 ```sh
259 docker pull charmcli/soft-serve:latest
260@@ -36,6 +36,7 @@ services:
261 ```
262
263 [docker]: https://hub.docker.com/r/charmcli/soft-serve
264+[ghcr]: https://github.com/charmbracelet/soft-serve/pkgs/container/soft-serve
265
266 ***
267