goreleaser.yml

 1name: goreleaser
 2
 3on:
 4  push:
 5    tags:
 6      - 'v*.*.*'
 7
 8permissions:
 9  contents: write
10  packages: write
11
12jobs:
13  goreleaser:
14    runs-on: ubuntu-latest
15    steps:
16      - name: Checkout
17        uses: actions/checkout@v2
18        with:
19          fetch-depth: 0
20
21      - name: Clone internal repositories
22        run: |
23          git clone -b release https://${{ secrets.ACCESS_TOKEN }}@github.com/charmbracelet/charm-internal ../charm
24          git clone -b master https://${{ secrets.ACCESS_TOKEN }}@github.com/charmbracelet/bubbletea-internal ../bubbletea
25          git clone -b main https://${{ secrets.ACCESS_TOKEN }}@github.com/charmbracelet/wish ../wish
26
27      - name: Set up Go
28        uses: actions/setup-go@v2
29        with:
30          go-version: 1.17
31
32      - name: Login to DockerHub
33        uses: docker/login-action@v1
34        with:
35          username: ${{ secrets.DOCKERHUB_USERNAME }}
36          password: ${{ secrets.DOCKERHUB_TOKEN }}
37
38      - name: Login to GitHub Container Registry
39        uses: docker/login-action@v1
40        with:
41          registry: ghcr.io
42          username: ${{ github.repository_owner }}
43          password: ${{ secrets.GITHUB_TOKEN }}
44
45      - name: Set up Docker Buildx
46        id: buildx
47        uses: docker/setup-buildx-action@v1
48
49      - name: Run GoReleaser
50        uses: goreleaser/goreleaser-action@v2
51        with:
52          distribution: goreleaser
53          version: latest
54          args: release --rm-dist
55        env:
56          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57
58      - name: Update Docker Hub Readme
59        uses: christian-korneck/update-container-description-action@v1
60        with:
61          destination_container_repo: charmcli/soft-serve
62          provider: dockerhub
63          short_description: "A tasty Git server 🍦"
64          readme_file: "README.md"