without goreleaser
- commit
- 20b87861c47676f02d4295e4636cd19764ffe36e
- author
- bnema · · 2024-04-19 15:41 UTC
- parent
- 75e22ba
- signature
- unsigned
1 file · +28 -8
M .github/workflows/go.yml +28 -8
| @@ -16,16 +16,36 @@ jobs: | |||
| 16 | 16 | with: | |
| 17 | 17 | go-version: 1.21 | |
| 18 | 18 | ||
| 19 | - | - name: Run GoReleaser | |
| 20 | - | uses: goreleaser/goreleaser-action@v3 | |
| 19 | + | - name: Build | |
| 20 | + | run: | | |
| 21 | + | go mod tidy | |
| 22 | + | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-linux-amd64 ./cmd/cli/main.go | |
| 23 | + | CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-windows-amd64.exe ./cmd/cli/main.go | |
| 24 | + | CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-darwin-amd64 ./cmd/cli/main.go | |
| 25 | + | CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-linux-arm64 ./cmd/cli/main.go | |
| 26 | + | CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-windows-arm64.exe ./cmd/cli/main.go | |
| 27 | + | CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-darwin-arm64 ./cmd/cli/main.go | |
| 28 | + | ||
| 29 | + | - name: Build Docker Images | |
| 30 | + | run: | | |
| 31 | + | docker buildx build --platform linux/amd64 --tag ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 --label org.opencontainers.image.created=$(date +'%Y-%m-%dT%H:%M:%SZ') --label org.opencontainers.image.title=gordon --label org.opencontainers.image.revision=${{ github.sha }} --label org.opencontainers.image.version=${{ github.ref_name }} --label org.opencontainers.image.source=https://github.com/bnema/gordon --push . | |
| 32 | + | docker buildx build --platform linux/arm64 --tag ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 --label org.opencontainers.image.created=$(date +'%Y-%m-%dT%H:%M:%SZ') --label org.opencontainers.image.title=gordon --label org.opencontainers.image.revision=${{ github.sha }} --label org.opencontainers.image.version=${{ github.ref_name }} --label org.opencontainers.image.source=https://github.com/bnema/gordon --push . | |
| 21 | 33 | env: | |
| 22 | 34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| 23 | - | with: | |
| 24 | - | version: latest | |
| 25 | - | args: release --clean | |
| 26 | - | registry: ghcr.io | |
| 27 | - | username: ${{ github.actor }} | |
| 28 | - | password: ${{ secrets.GITHUB_TOKEN }} | |
| 35 | + | ||
| 36 | + | - name: Create Docker Manifest | |
| 37 | + | run: | | |
| 38 | + | docker manifest create ghcr.io/bnema/gordon:latest ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 --amend | |
| 39 | + | docker manifest push ghcr.io/bnema/gordon:latest | |
| 40 | + | ||
| 41 | + | - name: Create Release Artifacts | |
| 42 | + | run: | | |
| 43 | + | zip -j gordon_${{ github.ref_name }}_linux_amd64.zip gordon-linux-amd64 | |
| 44 | + | zip -j gordon_${{ github.ref_name }}_windows_amd64.zip gordon-windows-amd64.exe | |
| 45 | + | zip -j gordon_${{ github.ref_name }}_darwin_amd64.zip gordon-darwin-amd64 | |
| 46 | + | zip -j gordon_${{ github.ref_name }}_linux_arm64.zip gordon-linux-arm64 | |
| 47 | + | zip -j gordon_${{ github.ref_name }}_windows_arm64.zip gordon-windows-arm64.exe | |
| 48 | + | zip -j gordon_${{ github.ref_name }}_darwin_arm64.zip gordon-darwin-arm64 | |
| 29 | 49 | ||
| 30 | 50 | - name: Install Cosign | |
| 31 | 51 | run: | | |
| @@ -16,16 +16,36 @@ jobs: | |||||
| 16 | with: | 16 | with: | ||
| 17 | go-version: 1.21 | 17 | go-version: 1.21 | ||
| 18 | 18 | ||||
| 19 | - | - name: Run GoReleaser | 19 | + | - name: Build |
| 20 | - | uses: goreleaser/goreleaser-action@v3 | 20 | + | run: | |
| 21 | + | go mod tidy | |||
| 22 | + | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-linux-amd64 ./cmd/cli/main.go | |||
| 23 | + | CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-windows-amd64.exe ./cmd/cli/main.go | |||
| 24 | + | CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-darwin-amd64 ./cmd/cli/main.go | |||
| 25 | + | CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-linux-arm64 ./cmd/cli/main.go | |||
| 26 | + | CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-windows-arm64.exe ./cmd/cli/main.go | |||
| 27 | + | CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w -X main.build=${{ github.ref_name }} -X main.commit=${{ github.sha }} -X main.date=$(date +'%Y-%m-%dT%H:%M:%SZ')" -o gordon-darwin-arm64 ./cmd/cli/main.go | |||
| 28 | + | ||||
| 29 | + | - name: Build Docker Images | |||
| 30 | + | run: | | |||
| 31 | + | docker buildx build --platform linux/amd64 --tag ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 --label org.opencontainers.image.created=$(date +'%Y-%m-%dT%H:%M:%SZ') --label org.opencontainers.image.title=gordon --label org.opencontainers.image.revision=${{ github.sha }} --label org.opencontainers.image.version=${{ github.ref_name }} --label org.opencontainers.image.source=https://github.com/bnema/gordon --push . | |||
| 32 | + | docker buildx build --platform linux/arm64 --tag ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 --label org.opencontainers.image.created=$(date +'%Y-%m-%dT%H:%M:%SZ') --label org.opencontainers.image.title=gordon --label org.opencontainers.image.revision=${{ github.sha }} --label org.opencontainers.image.version=${{ github.ref_name }} --label org.opencontainers.image.source=https://github.com/bnema/gordon --push . | |||
| 21 | env: | 33 | env: | ||
| 22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | 34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| 23 | - | with: | 35 | + | |
| 24 | - | version: latest | 36 | + | - name: Create Docker Manifest |
| 25 | - | args: release --clean | 37 | + | run: | |
| 26 | - | registry: ghcr.io | 38 | + | docker manifest create ghcr.io/bnema/gordon:latest ghcr.io/bnema/gordon:${{ github.ref_name }}-amd64 ghcr.io/bnema/gordon:${{ github.ref_name }}-arm64 --amend |
| 27 | - | username: ${{ github.actor }} | 39 | + | docker manifest push ghcr.io/bnema/gordon:latest |
| 28 | - | password: ${{ secrets.GITHUB_TOKEN }} | 40 | + | |
| 41 | + | - name: Create Release Artifacts | |||
| 42 | + | run: | | |||
| 43 | + | zip -j gordon_${{ github.ref_name }}_linux_amd64.zip gordon-linux-amd64 | |||
| 44 | + | zip -j gordon_${{ github.ref_name }}_windows_amd64.zip gordon-windows-amd64.exe | |||
| 45 | + | zip -j gordon_${{ github.ref_name }}_darwin_amd64.zip gordon-darwin-amd64 | |||
| 46 | + | zip -j gordon_${{ github.ref_name }}_linux_arm64.zip gordon-linux-arm64 | |||
| 47 | + | zip -j gordon_${{ github.ref_name }}_windows_arm64.zip gordon-windows-arm64.exe | |||
| 48 | + | zip -j gordon_${{ github.ref_name }}_darwin_arm64.zip gordon-darwin-arm64 | |||
| 29 | 49 | ||||
| 30 | - name: Install Cosign | 50 | - name: Install Cosign | ||
| 31 | run: | | 51 | run: | | ||