summaryrefslogtreecommitdiff
path: root/cmd/authelia-scripts/helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/authelia-scripts/helpers.go')
-rw-r--r--cmd/authelia-scripts/helpers.go67
1 files changed, 67 insertions, 0 deletions
diff --git a/cmd/authelia-scripts/helpers.go b/cmd/authelia-scripts/helpers.go
new file mode 100644
index 000000000..2b71d1e65
--- /dev/null
+++ b/cmd/authelia-scripts/helpers.go
@@ -0,0 +1,67 @@
+package main
+
+import (
+ "fmt"
+ "strings"
+ "time"
+
+ "github.com/authelia/authelia/internal/utils"
+)
+
+func getXFlags(branch, build, extra string) (flags []string, err error) {
+ if branch == "" {
+ out, _, err := utils.RunCommandAndReturnOutput("git rev-parse --abbrev-ref HEAD")
+ if err != nil {
+ return flags, err
+ }
+
+ if out == "" {
+ branch = "master"
+ } else {
+ branch = out
+ }
+ }
+
+ gitTagCommit, _, err := utils.RunCommandAndReturnOutput("git rev-list --tags --max-count=1")
+ if err != nil {
+ return flags, err
+ }
+
+ tag, _, err := utils.RunCommandAndReturnOutput("git describe --tags --abbrev=0 " + gitTagCommit)
+ if err != nil {
+ return flags, err
+ }
+
+ commit, _, err := utils.RunCommandAndReturnOutput("git rev-parse HEAD")
+ if err != nil {
+ return flags, err
+ }
+
+ var states []string
+
+ if gitTagCommit == commit {
+ states = append(states, "tagged")
+ } else {
+ states = append(states, "untagged")
+ }
+
+ if _, exitCode, _ := utils.RunCommandAndReturnOutput("git diff --quiet"); exitCode != 0 {
+ states = append(states, "dirty")
+ } else {
+ states = append(states, "clean")
+ }
+
+ if build == "" {
+ build = "manual"
+ }
+
+ return []string{
+ fmt.Sprintf(fmtLDFLAGSX, "BuildBranch", branch),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildTag", tag),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildCommit", commit),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildDate", time.Now().Format("Mon, 02 Jan 2006 15:04:05 -0700")),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildState", strings.Join(states, " ")),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildExtra", extra),
+ fmt.Sprintf(fmtLDFLAGSX, "BuildNumber", build),
+ }, nil
+}