diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 5be923d..c2e029f 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -6,10 +6,10 @@ version: 1 before: hooks: - # You may remove this if you don't use go modules. + - go test -cover -race -shuffle=on - go mod tidy - # you may remove this if you don't need go generate - - go generate ./... + - go mod download + - go mod verify builds: - env: @@ -21,20 +21,28 @@ builds: - freebsd - openbsd - netbsd + goarch: + - 386 + - arm + - arm64 + - amd64 + - ppc64le + - s390x + - mips + - mips64 + - mipsle + - mips64le + goarm: + - 6 + goamd64: + - v1 main: ./cmd/apg binary: apg + ldflags: + - -w -s -extldflags "-static" archives: - format: tar.gz - # this name template makes the OS and Arch compatible with the results of `uname`. - name_template: >- - {{ .ProjectName }}_ - {{- title .Os }}_ - {{- if eq .Arch "amd64" }}x86_64 - {{- else if eq .Arch "386" }}i386 - {{- else }}{{ .Arch }}{{ end }} - {{- if .Arm }}v{{ .Arm }}{{ end }} - # use zip for windows archives format_overrides: - goos: windows format: zip @@ -48,23 +56,33 @@ changelog: nfpms: - vendor: Winni Neessen + homepage: https://src.neessen.cloud/wneessen/apg-go maintainer: Winni Neessen + description: |- + A "Automated Password Generator"-clone written in Go + license: MIT formats: - apk - deb - rpm - termux.deb - archlinux + file_name_template: >- + {{- trimsuffix .ConventionalFileName .ConventionalExtension -}} + {{- if and (eq .Arm "6") (eq .ConventionalExtension ".deb") }}6{{ end -}} + {{- if not (eq .Amd64 "v1")}}{{ .Amd64 }}{{ end -}} + {{- .ConventionalExtension -}} dmg: - replace: true universal_binaries: + - replace: true report_sizes: true signs: - - artifacts: checksum + - artifacts: all stdin: "{{ .Env.GPG_PASSWORD }}" args: ["-u", "wn@neessen.dev", "--output", "${signature}", "--detach-sign", "${artifact}"] @@ -74,3 +92,25 @@ sboms: gitea_urls: api: https://src.neessen.cloud/api/v1 download: https://src.neessen.cloud + +dockers: + - image_templates: + - wneessen/apg-go + build_flag_templates: + - "--network=host" + +docker_signs: + - artifacts: all + stdin: '{{ .Env.COSIGN_PWD }}' + cmd: cosign + +gomod: + mod: mod + +dockerhub: + - username: wneessen + description: |- + A "Automated Password Generator"-clone written in Go + full_description: + from_url: + url: https://src.neessen.cloud/wneessen/apg-go/raw/branch/main/README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..08a7973 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: 2021-2024 Winni Neessen +# +# SPDX-License-Identifier: MIT + +FROM scratch +ENTRYPOINT ["/apg"] +COPY apg / diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..de8cc50 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-2024 Winni Neessen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.