a0e48e3dfa24436f456d3fb783a04f2ef24a6ea2

Author
Ayman Bagabas <ayman.bagabas@gmail.com>
Committer
Ayman Bagabas <ayman.bagabas@gmail.com>
Date

Message

Add develop and nightly builds

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