diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b5e478..9febbda 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,6 +25,10 @@ jobs: with: go-version: '1.23' + # Needed for ARM64 Docker builds + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 diff --git a/.goreleaser.yml b/.goreleaser.yml index b4a7e96..5157e23 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -2,29 +2,44 @@ version: 2 env: - GO111MODULE=on + # ARM crypto extension for RANDOM Number generation + - GOARM64=v8.0,crypto + - CFLAGS="-O3" + - CXXFLAGS="-O3" + before: hooks: - go mod download builds: - - id: gemini - ldflags: -s -w - main: ./cmd/gemini - env: + - env: - CGO_ENABLED=0 goos: - linux + ldflags: -s -w goarch: - amd64 + - arm64 + main: ./cmd/gemini + goamd64: + - v3 # v3 Enables AMD64 SIMD (SSE4.x,AVX2) optimizations archives: - name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' + files: + - README.md + - CHANGELOG.md + - LICENSE + +source: + enabled: true + format: 'tar.gz' checksum: name_template: 'checksums.txt' snapshot: - name_template: '{{ .Tag }}-next' + version_template: '{{ .Tag }}-next' changelog: sort: asc @@ -35,5 +50,37 @@ changelog: dockers: - image_templates: - - scylladb/gemini:{{ .Version }} - - scylladb/gemini:latest + - scylladb/gemini:{{ .Version }}-amd64 + goarch: amd64 + goamd64: v3 + goos: linux + id: gemini-amd64 + build_flag_templates: + - '--platform=linux/amd64' + + - image_templates: + - scylladb/gemini:{{ .Version }}-arm64v8 + goarch: arm64 + id: gemini-arm + goos: linux + build_flag_templates: + - '--platform=linux/arm64/v8' + +docker_manifests: + - name_template: 'scylladb/gemini:{{ .Version }}' + skip_push: false + image_templates: + - 'scylladb/gemini:{{ .Version }}-amd64' + - 'scylladb/gemini:{{ .Version }}-arm64v8' + + - name_template: 'scylladb/gemini:latest' + skip_push: false + image_templates: + - 'scylladb/gemini:{{ .Version }}-amd64' + - 'scylladb/gemini:{{ .Version }}-arm64v8' + +release: + mode: keep-existing + make_latest: true + prerelease: auto + skip_upload: false diff --git a/cmd/gemini/Version b/cmd/gemini/Version index 89365ca..d32d357 100644 --- a/cmd/gemini/Version +++ b/cmd/gemini/Version @@ -1 +1 @@ -v1.8.7 \ No newline at end of file +v1.8.8 \ No newline at end of file