From 81fcd4a82ff820315f5263f431b45a943da2e1f3 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Wed, 6 Nov 2024 04:47:05 -0500 Subject: [PATCH] feat: add build information support --- build/build.go | 19 +++++++++++++++++++ dashboard.go | 4 +++- go.mod | 15 +++++++++------ go.sum | 24 ++++++++++++++++++++++++ 4 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 build/build.go diff --git a/build/build.go b/build/build.go new file mode 100644 index 0000000..92fae0b --- /dev/null +++ b/build/build.go @@ -0,0 +1,19 @@ +package build + +import ( + "go.lumeweb.com/portal/build" +) + +var ( + Version string + GitCommit string + GitBranch string + BuildTime string + GoVersion string + Platform string + Architecture string +) + +func GetInfo() build.BuildInfo { + return build.New(Version, GitCommit, GitBranch, BuildTime, GoVersion, Platform, Architecture) +} diff --git a/dashboard.go b/dashboard.go index 5793fd2..7ce829e 100644 --- a/dashboard.go +++ b/dashboard.go @@ -3,6 +3,7 @@ package dashboard import ( "embed" _ "embed" + "go.lumeweb.com/portal-plugin-dashboard/build" "go.lumeweb.com/portal-plugin-dashboard/internal" "go.lumeweb.com/portal-plugin-dashboard/internal/api" pluginConfig "go.lumeweb.com/portal-plugin-dashboard/internal/config" @@ -23,7 +24,8 @@ func init() { } core.RegisterPlugin(core.PluginInfo{ - ID: internal.PLUGIN_NAME, + ID: internal.PLUGIN_NAME, + Version: build.GetInfo(), Meta: func(ctx core.Context, builder core.PortalMetaBuilder) error { pluginCfg := ctx.Config().GetPlugin(internal.PLUGIN_NAME).API.(*pluginConfig.APIConfig) if pluginCfg.SocialLogin.Enabled { diff --git a/go.mod b/go.mod index 5acdd12..e63b9ff 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/samber/lo v1.47.0 github.com/sethvargo/go-password v0.3.1 go.lumeweb.com/httputil v0.0.0-20240907105629-dbffb601f2ab - go.lumeweb.com/portal v0.2.1 + go.lumeweb.com/portal v0.3.1 go.lumeweb.com/web/go/portal-dashboard v0.0.0-20241101172040-fe0c28b983c2 go.uber.org/zap v1.27.0 golang.org/x/crypto v0.28.0 @@ -51,7 +51,7 @@ require ( github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect github.com/boombuler/barcode v1.0.1 // indirect github.com/casbin/casbin/v2 v2.100.0 // indirect - github.com/casbin/gorm-adapter/v3 v3.28.0 // indirect + github.com/casbin/gorm-adapter/v3 v3.29.0 // indirect github.com/casbin/govaluate v1.2.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/coreos/go-semver v0.3.1 // indirect @@ -63,7 +63,8 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.5 // indirect + github.com/gabriel-vasile/mimetype v1.4.6 // indirect + github.com/gammazero/deque v0.2.0 // indirect github.com/getkin/kin-openapi v0.128.0 // indirect github.com/glebarez/go-sqlite v1.20.3 // indirect github.com/glebarez/sqlite v1.7.0 // indirect @@ -95,6 +96,7 @@ require ( github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect github.com/jackc/pgx/v5 v5.5.5 // indirect github.com/jackc/puddle/v2 v2.2.1 // indirect + github.com/jamestrandung/go-concurrency/v2 v2.0.3 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/jonboulle/clockwork v0.4.0 // indirect @@ -133,6 +135,7 @@ require ( github.com/rs/cors v1.11.1 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/stretchr/testify v1.9.0 // indirect github.com/tus/tusd/v2 v2.4.0 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -160,9 +163,9 @@ require ( go.sia.tech/renterd v1.0.8 // indirect go.sia.tech/siad v1.5.10-0.20230228235644-3059c0b930ca // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap/exp v0.2.0 // indirect + go.uber.org/zap/exp v0.3.0 // indirect golang.org/x/exp v0.0.0-20240707233637-46b078467d37 // indirect - golang.org/x/net v0.29.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.26.0 // indirect @@ -174,7 +177,7 @@ require ( google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/driver/mysql v1.5.7 // indirect - gorm.io/driver/postgres v1.5.7 // indirect + gorm.io/driver/postgres v1.5.9 // indirect gorm.io/driver/sqlite v1.5.6 // indirect gorm.io/driver/sqlserver v1.5.3 // indirect gorm.io/plugin/dbresolver v1.3.0 // indirect diff --git a/go.sum b/go.sum index 9a9c935..6ddb070 100644 --- a/go.sum +++ b/go.sum @@ -132,6 +132,8 @@ github.com/casbin/casbin/v2 v2.100.0 h1:aeugSNjjHfCrgA22nHkVvw2xsscboHv5r0a13ljQ github.com/casbin/casbin/v2 v2.100.0/go.mod h1:LO7YPez4dX3LgoTCqSQAleQDo0S0BeZBDxYnPUl95Ng= github.com/casbin/gorm-adapter/v3 v3.28.0 h1:ORF8prF6SfaipdgT1fud+r1Tp5J0uul8QaKJHqCPY/o= github.com/casbin/gorm-adapter/v3 v3.28.0/go.mod h1:aftWi0cla0CC1bHQVrSFzBcX/98IFK28AvuPppCQgTs= +github.com/casbin/gorm-adapter/v3 v3.29.0 h1:MpbF5JVFYOwVGaTkvwDNUV4k+5CYwAu6v83ofZHRfvM= +github.com/casbin/gorm-adapter/v3 v3.29.0/go.mod h1:C0Ew2tNYtdvDK1f+yEiKZt8XL0fcaurQhOHgxMSBM54= github.com/casbin/govaluate v1.2.0 h1:wXCXFmqyY+1RwiKfYo3jMKyrtZmOL3kHwaqDyCPOYak= github.com/casbin/govaluate v1.2.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -204,6 +206,10 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.5 h1:J7wGKdGu33ocBOhGy0z653k/lFKLFDPJMG8Gql0kxn4= github.com/gabriel-vasile/mimetype v1.4.5/go.mod h1:ibHel+/kbxn9x2407k1izTA1S81ku1z/DlgOW2QE0M4= +github.com/gabriel-vasile/mimetype v1.4.6 h1:3+PzJTKLkvgjeTbts6msPJt4DixhT4YtFNf1gtGe3zc= +github.com/gabriel-vasile/mimetype v1.4.6/go.mod h1:JX1qVKqZd40hUPpAfiNTe0Sne7hdfKSbOqqmkq8GCXc= +github.com/gammazero/deque v0.2.0 h1:SkieyNB4bg2/uZZLxvya0Pq6diUlwx7m2TeT7GAIWaA= +github.com/gammazero/deque v0.2.0/go.mod h1:LFroj8x4cMYCukHJDbxFCkT+r9AndaJnFMuZDV34tuU= github.com/getkin/kin-openapi v0.128.0 h1:jqq3D9vC9pPq1dGcOCv7yOp1DaEe7c/T1vzcLbITSp4= github.com/getkin/kin-openapi v0.128.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -403,6 +409,8 @@ github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jamestrandung/go-concurrency/v2 v2.0.3 h1:5jP2o3gV0EAOpuKdPN6V0fW02k3bCB3+pE1Hxp84biU= +github.com/jamestrandung/go-concurrency/v2 v2.0.3/go.mod h1:4FZbCxjDEpJ2wACD7VEXItOx2R4cbBYWW/r7RzeRGtY= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= @@ -654,6 +662,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -746,6 +756,14 @@ go.lumeweb.com/httputil v0.0.0-20240907105629-dbffb601f2ab h1:8FHJm1D00GJNV+5Pka go.lumeweb.com/httputil v0.0.0-20240907105629-dbffb601f2ab/go.mod h1:3aHem0Fj7dH1Kj+WgluoF0WlSyXyUCrJk4bvmdq/Fgs= go.lumeweb.com/portal v0.2.1 h1:iTSNVUNu89/nCRF3F0iwcDXcYDFzN9yZoM8HmgLPupI= go.lumeweb.com/portal v0.2.1/go.mod h1:w5MhBm4UdZV/w8JBQU1pEma9CIBqX/gPmGKL3LlElYk= +go.lumeweb.com/portal v0.2.2-0.20241105202535-ae45781c3e22 h1:jalazq19HVUougR2Jg7V/QAtizz8yBdf/L1epu738EU= +go.lumeweb.com/portal v0.2.2-0.20241105202535-ae45781c3e22/go.mod h1:bz8mHY6uIC8lur3K7IiwYlPEh52SrG0lzr+JlODFK4Q= +go.lumeweb.com/portal v0.2.2-0.20241105212710-a4fbe0fc73a6 h1:K2x4h3ErTgPQQ8eIorj9LXgtwsPIGPqf/oj3P1ssXgM= +go.lumeweb.com/portal v0.2.2-0.20241105212710-a4fbe0fc73a6/go.mod h1:bz8mHY6uIC8lur3K7IiwYlPEh52SrG0lzr+JlODFK4Q= +go.lumeweb.com/portal v0.3.0 h1:hh4RqfHjjOvwZ6yRX5aUWJ+HxZBykf/iYCzkoBTSnjE= +go.lumeweb.com/portal v0.3.0/go.mod h1:bz8mHY6uIC8lur3K7IiwYlPEh52SrG0lzr+JlODFK4Q= +go.lumeweb.com/portal v0.3.1 h1:QkDshYvHfsJ4CTxphSZ7b7LLaD+czoqp1qxnhAnSqzU= +go.lumeweb.com/portal v0.3.1/go.mod h1:bz8mHY6uIC8lur3K7IiwYlPEh52SrG0lzr+JlODFK4Q= go.lumeweb.com/web/go/portal-dashboard v0.0.0-20241101172040-fe0c28b983c2 h1:Rtf4/XBWFG88tgjYx0joYdT4gsdkULQy1+YHu3Nbxxg= go.lumeweb.com/web/go/portal-dashboard v0.0.0-20241101172040-fe0c28b983c2/go.mod h1:vMRQ9Q+5VbGjXNAOgIhpFwWAo5yoZjgUbVJXXJ1y3qI= go.sia.tech/core v0.4.7 h1:UAyErZ3nk5/7N0gIG0OEEJJrxh7ru8lgGLlaNtT/Jq0= @@ -778,6 +796,8 @@ go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.uber.org/zap/exp v0.2.0 h1:FtGenNNeCATRB3CmB/yEUnjEFeJWpB/pMcy7e2bKPYs= go.uber.org/zap/exp v0.2.0/go.mod h1:t0gqAIdh1MfKv9EwN/dLwfZnJxe9ITAZN78HEWPFWDQ= +go.uber.org/zap/exp v0.3.0 h1:6JYzdifzYkGmTdRR59oYH+Ng7k49H9qVpWwNSsGJj3U= +go.uber.org/zap/exp v0.3.0/go.mod h1:5I384qq7XGxYyByIhHm6jg5CHkGY0nsTfbDLgDDlgJQ= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= @@ -852,6 +872,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1043,6 +1065,8 @@ gorm.io/driver/mysql v1.5.7 h1:MndhOPYOfEp2rHKgkZIhJ16eVUIRf2HmzgoPmh7FCWo= gorm.io/driver/mysql v1.5.7/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM= gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM= gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= +gorm.io/driver/postgres v1.5.9 h1:DkegyItji119OlcaLjqN11kHoUgZ/j13E0jkJZgD6A8= +gorm.io/driver/postgres v1.5.9/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI= gorm.io/driver/sqlite v1.5.6 h1:fO/X46qn5NUEEOZtnjJRWRzZMe8nqJiQ9E+0hi+hKQE= gorm.io/driver/sqlite v1.5.6/go.mod h1:U+J8craQU6Fzkcvu8oLeAQmi50TkwPEhHDEjQZXDah4= gorm.io/driver/sqlserver v1.5.3 h1:rjupPS4PVw+rjJkfvr8jn2lJ8BMhT4UW5FwuJY0P3Z0=