From 174090110c49986881e139b40d94a6fb37ed9eca Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Sun, 26 Nov 2023 02:25:02 -0800 Subject: [PATCH] update goreleaser builds --- .goreleaser.yml | 10 +++++++--- Dockerfile | 2 +- main.go | 12 ++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index f532e5b..a88b543 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -18,11 +18,10 @@ project_name: s3www before: hooks: - - go mod tidy -compat=1.17 + - go mod tidy -compat=1.21 + builds: - - flags: - - -trimpath goos: - darwin - linux @@ -34,6 +33,11 @@ builds: - s390x env: - CGO_ENABLED=0 + flags: + - -trimpath + ldflags: + - "-s -w -X main.version={{.Version}}" + archives: - format_overrides: diff --git a/Dockerfile b/Dockerfile index fe4859a..3d69a99 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.17 +FROM golang:1.21 RUN \ mkdir -p /licenses && \ diff --git a/main.go b/main.go index 83b432c..bdc4780 100644 --- a/main.go +++ b/main.go @@ -17,6 +17,7 @@ package main import ( "context" "flag" + "fmt" "log" "net" "net/http" @@ -35,6 +36,10 @@ import ( "github.com/rs/cors" ) +// Use e.g.: go build -ldflags "-X main.version=v1.0.0" +// to set the binary version. +var version = "0.0.0-dev" + // S3 - A S3 implements FileSystem using the minio client // allowing access to your S3 buckets and objects. // @@ -134,9 +139,11 @@ var ( spaFile string allowedCorsOrigin string letsEncrypt bool + versionF = flag.Bool("version", false, "print version") ) func init() { + flag.BoolVar(versionF, "v", false, "print version") flag.StringVar(&endpoint, "endpoint", defaultEnvString("S3WWW_ENDPOINT", ""), "AWS S3 compatible server endpoint") flag.StringVar(&bucket, "bucket", defaultEnvString("S3WWW_BUCKET", ""), "bucket name with static files") flag.StringVar(&bucketPath, "bucketPath", defaultEnvString("S3WWW_BUCKET_PATH", "/"), "bucket path to serve static files from") @@ -193,6 +200,11 @@ func NewCustomHTTPTransport() *http.Transport { func main() { flag.Parse() + if *versionF { + fmt.Println("s3www -", version) + os.Exit(0) + } + if strings.TrimSpace(bucket) == "" { log.Fatalln(`Bucket name cannot be empty, please provide 's3www -bucket "mybucket"'`) }