Skip to content

Commit

Permalink
Add develop and nightly builds
Browse files Browse the repository at this point in the history
  • Loading branch information
aymanbagabas committed Jan 3, 2022
1 parent b479573 commit a0e48e3
Show file tree
Hide file tree
Showing 6 changed files with 155 additions and 66 deletions.
127 changes: 125 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
name: build

on: [push, pull_request]

permissions:
packages: write

jobs:
test:
build:
strategy:
matrix:
go-version: [~1.17, ^1]
Expand All @@ -25,4 +30,122 @@ jobs:
run: go build -v ./...

- name: Test
run: go test ./...
run: go test ./...

nightly:
env:
GO111MODULE: "on"
DOCKER_CLI_EXPERIMENTAL: enabled
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "~1.17"

- name: Checkout code
uses: actions/checkout@v2

- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: latest
args: release --snapshot --rm-dist --skip-sign
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

- name: Push docker images
run: |
GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-amd64 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-arm64 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-armv7 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-i386 ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64
docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64
docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7
docker push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
docker manifest create ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH \
ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-amd64 \
ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-arm64 \
ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-armv7 \
ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH-i386
docker manifest push ghcr.io/$GITHUB_REPOSITORY:devel-$GIT_HASH
if [[ $GITHUB_REF = 'refs/heads/main' && $GITHUB_EVENT_NAME = 'push' ]]; then
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-amd64 ghcr.io/$GITHUB_REPOSITORY:devel-amd64
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-arm64 ghcr.io/$GITHUB_REPOSITORY:devel-arm64
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-armv7 ghcr.io/$GITHUB_REPOSITORY:devel-armv7
docker tag ghcr.io/$GITHUB_REPOSITORY:latest-i386 ghcr.io/$GITHUB_REPOSITORY:devel-i386
docker push ghcr.io/$GITHUB_REPOSITORY:devel-amd64
docker push ghcr.io/$GITHUB_REPOSITORY:devel-arm64
docker push ghcr.io/$GITHUB_REPOSITORY:devel-armv7
docker push ghcr.io/$GITHUB_REPOSITORY:devel-i386
docker manifest create ghcr.io/$GITHUB_REPOSITORY:devel \
ghcr.io/$GITHUB_REPOSITORY:devel-amd64 \
ghcr.io/$GITHUB_REPOSITORY:devel-arm64 \
ghcr.io/$GITHUB_REPOSITORY:devel-armv7 \
ghcr.io/$GITHUB_REPOSITORY:devel-i386
docker manifest push ghcr.io/$GITHUB_REPOSITORY:devel
fi
- uses: actions/upload-artifact@v2
with:
name: Linux (x86_64)
path: |
dist/soft-serve_linux_amd64/*
LICENSE
README.md
- uses: actions/upload-artifact@v2
with:
name: Linux (arm64)
path: |
dist/soft-serve_linux_arm64/*
LICENSE
README.md
- uses: actions/upload-artifact@v2
with:
name: MacOS (x86_64)
path: |
dist/soft-serve_darwin_amd64/*
LICENSE
README.md
- uses: actions/upload-artifact@v2
with:
name: MacOS (arm64)
path: |
dist/soft-serve_darwin_arm64/*
LICENSE
README.md
- uses: actions/upload-artifact@v2
with:
name: Windows (x86_64)
path: |
dist/soft-serve_windows_amd64/*
LICENSE
README.md
60 changes: 0 additions & 60 deletions .github/workflows/goreleaser-publish.yml

This file was deleted.

28 changes: 26 additions & 2 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: goreleaser

on: [push, pull_request]
on:
push:
tags:
- v*.*.*

concurrency:
group: goreleaser
cancel-in-progress: true

permissions:
contents: write
packages: write

jobs:
goreleaser:
Expand All @@ -18,6 +29,19 @@ jobs:
with:
go-version: 1.17

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

Expand All @@ -30,7 +54,7 @@ jobs:
with:
distribution: goreleaser
version: latest
args: release --snapshot --rm-dist --skip-sign
args: release --rm-dist --skip-sign
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
2 changes: 1 addition & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ signs:
checksum:
name_template: "checksums.txt"
snapshot:
name_template: "{{ .Tag }}-next"
name_template: "{{ incpatch .Version }}-devel"
changelog:
sort: asc
filters:
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Soft Serve
</picture><br>
<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>
<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>
<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>
</p>

A tasty, self-hostable Git server for the command line. 🍦
Expand Down
3 changes: 2 additions & 1 deletion docker.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Running Soft-Serve with Docker

The official Soft Serve Docker images are available at [charmcli/soft-serve][docker].
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]

```sh
docker pull charmcli/soft-serve:latest
Expand Down Expand Up @@ -36,6 +36,7 @@ services:
```
[docker]: https://hub.docker.com/r/charmcli/soft-serve
[ghcr]: https://github.com/charmbracelet/soft-serve/pkgs/container/soft-serve
***
Expand Down

0 comments on commit a0e48e3

Please sign in to comment.