Update go.yml
- commit
- 50900f30c57b3920459d181de92e5f40343f4edb
- author
- Brice Nema · · 2024-04-19 11:19 UTC
- committer
- GitHub · · 2024-04-19 11:19 UTC
- parent
- 4ab0815
- signature
- unsigned
1 file · +35 -16
M .github/workflows/go.yml +35 -16
| @@ -1,25 +1,44 @@ | |||
| 1 | - | # This workflow will build a golang project | |
| 2 | - | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go | |
| 3 | - | ||
| 4 | - | name: Go | |
| 1 | + | name: Release | |
| 5 | 2 | ||
| 6 | 3 | on: | |
| 7 | 4 | push: | |
| 8 | - | branches: [ "main" ] | |
| 9 | - | pull_request: | |
| 10 | - | branches: [ "main" ] | |
| 5 | + | tags: | |
| 6 | + | - '*' | |
| 11 | 7 | ||
| 12 | 8 | jobs: | |
| 13 | - | ||
| 14 | - | build: | |
| 9 | + | release: | |
| 15 | 10 | runs-on: ubuntu-latest | |
| 16 | 11 | steps: | |
| 17 | - | - uses: actions/checkout@v3 | |
| 12 | + | - uses: actions/checkout@v2 | |
| 13 | + | ||
| 14 | + | - name: Set up Go | |
| 15 | + | uses: actions/setup-go@v2 | |
| 16 | + | with: | |
| 17 | + | go-version: 1.18 | |
| 18 | 18 | ||
| 19 | - | - name: Set up Go | |
| 20 | - | uses: actions/setup-go@v4 | |
| 21 | - | with: | |
| 22 | - | go-version: '1.21' | |
| 19 | + | - name: Run GoReleaser | |
| 20 | + | uses: goreleaser/goreleaser-action@v2 | |
| 21 | + | with: | |
| 22 | + | version: latest | |
| 23 | + | args: release --rm-dist | |
| 23 | 24 | ||
| 24 | - | - name: Build | |
| 25 | - | run: go build -v ./cmd/cli/main.go | |
| 25 | + | - name: Login to GitHub Container Registry | |
| 26 | + | uses: docker/login-action@v1 | |
| 27 | + | with: | |
| 28 | + | registry: ghcr.io | |
| 29 | + | username: ${{ github.actor }} | |
| 30 | + | password: ${{ github.token }} | |
| 31 | + | ||
| 32 | + | - name: Build and push Docker images | |
| 33 | + | run: | | |
| 34 | + | goreleaser release --skip-publish --rm-dist | |
| 35 | + | docker push ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 | |
| 36 | + | docker push ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 | |
| 37 | + | ||
| 38 | + | - name: Create Release | |
| 39 | + | uses: actions/create-release@v1 | |
| 40 | + | with: | |
| 41 | + | tag_name: ${{ github.ref }} | |
| 42 | + | release_name: Release ${{ github.ref }} | |
| 43 | + | draft: true | |
| 44 | + | prerelease: false | |
| @@ -1,25 +1,44 @@ | |||||
| 1 | - | # This workflow will build a golang project | 1 | + | name: Release |
| 2 | - | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go | |||
| 3 | - | ||||
| 4 | - | name: Go | |||
| 5 | 2 | ||||
| 6 | on: | 3 | on: | ||
| 7 | push: | 4 | push: | ||
| 8 | - | branches: [ "main" ] | 5 | + | tags: |
| 9 | - | pull_request: | 6 | + | - '*' |
| 10 | - | branches: [ "main" ] | |||
| 11 | 7 | ||||
| 12 | jobs: | 8 | jobs: | ||
| 13 | - | 9 | + | release: | |
| 14 | - | build: | |||
| 15 | runs-on: ubuntu-latest | 10 | runs-on: ubuntu-latest | ||
| 16 | steps: | 11 | steps: | ||
| 17 | - | - uses: actions/checkout@v3 | 12 | + | - uses: actions/checkout@v2 |
| 13 | + | ||||
| 14 | + | - name: Set up Go | |||
| 15 | + | uses: actions/setup-go@v2 | |||
| 16 | + | with: | |||
| 17 | + | go-version: 1.18 | |||
| 18 | 18 | ||||
| 19 | - | - name: Set up Go | 19 | + | - name: Run GoReleaser |
| 20 | - | uses: actions/setup-go@v4 | 20 | + | uses: goreleaser/goreleaser-action@v2 |
| 21 | - | with: | 21 | + | with: |
| 22 | - | go-version: '1.21' | 22 | + | version: latest |
| 23 | + | args: release --rm-dist | |||
| 23 | 24 | ||||
| 24 | - | - name: Build | 25 | + | - name: Login to GitHub Container Registry |
| 25 | - | run: go build -v ./cmd/cli/main.go | 26 | + | uses: docker/login-action@v1 |
| 27 | + | with: | |||
| 28 | + | registry: ghcr.io | |||
| 29 | + | username: ${{ github.actor }} | |||
| 30 | + | password: ${{ github.token }} | |||
| 31 | + | ||||
| 32 | + | - name: Build and push Docker images | |||
| 33 | + | run: | | |||
| 34 | + | goreleaser release --skip-publish --rm-dist | |||
| 35 | + | docker push ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 | |||
| 36 | + | docker push ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 | |||
| 37 | + | ||||
| 38 | + | - name: Create Release | |||
| 39 | + | uses: actions/create-release@v1 | |||
| 40 | + | with: | |||
| 41 | + | tag_name: ${{ github.ref }} | |||
| 42 | + | release_name: Release ${{ github.ref }} | |||
| 43 | + | draft: true | |||
| 44 | + | prerelease: false | |||