Merge branch 'main' into manpage

This commit is contained in:
David Allen 2024-09-03 10:38:03 -06:00 committed by GitHub
commit 5e0687139e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 88 additions and 4 deletions

4
.gitignore vendored
View file

@ -1,4 +1,6 @@
magellan
emulator/rf-emulator
**/*.db
dist/*
**.tar.gz
**.tar.zst
**.part

View file

@ -12,6 +12,12 @@ ifndef VERSION
$(error VERSION is not set. Please review and copy config.env.default to config.env and try again)
endif
ifndef BUILD
$(error BUILD is not set. Please review and copy config.env.default to config.env and try again)
endif
LDFLAGS="-s -X=$(GIT)main.commit=$(BUILD) -X=$(GIT)main.version=$(VERSION) -X=$(GIT)main.date=$(shell date +%Y-%m-%d:%H:%M:%S)"
SHELL := /bin/bash
GOPATH ?= $(shell echo $${GOPATH:-~/go})
@ -55,8 +61,8 @@ release: ## goreleaser build
$(GOPATH)/bin/goreleaser build --clean --single-target --snapshot
.PHONY: build
build: ## goreleaser build
go build --tags=all
build: ## go build
go build -v --tags=all -ldflags=$(LDFLAGS) -o $(NAME) main.go
.PHONY: docker
container: ## docker build

40
cmd/version.go Normal file
View file

@ -0,0 +1,40 @@
package cmd
import (
"fmt"
"github.com/spf13/cobra"
)
var (
version string
commit string
date string
output string
)
var versionCmd = &cobra.Command{
Use: "version",
Run: func(cmd *cobra.Command, args []string) {
if cmd.Flag("commit").Value.String() == "true" {
output = commit
if date != "" {
output += " built @ " + date
}
fmt.Println(output)
} else {
fmt.Println(version)
}
},
}
func init() {
versionCmd.Flags().Bool("commit", false, "show the version commit")
rootCmd.AddCommand(versionCmd)
}
func SetVersionInfo(buildVersion string, buildCommit string, buildDate string) {
version = buildVersion
commit = buildCommit
date = buildDate
}

View file

@ -2,4 +2,4 @@
NAME=magellan
VERSION=$(shell git describe --tags --abbrev=0)
BUILD=$(shell git rev-parse --short HEAD)

29
dist/archlinux/PKGBUILD vendored Normal file
View file

@ -0,0 +1,29 @@
# Maintainer: David J. Allen <allend@lanl.gov>
pkgname=magellan
pkgver=v0.1.5
pkgrel=1
pkgdesc="Redfish-based BMC discovery tool written in Go"
arch=("x86_64")
url="https://github.com/OpenCHAMI/magellan"
license=('MIT')
groups=("openchami")
provides=('magellan')
conflicts=('magellan')
source_x86_64=("${url}/releases/download/${pkgver}/${pkgname}_Linux_x86_64.tar.gz")
sha256sums_x86_64=('1bb028d592d5389b519362e6aa7021f27443f0b36471e09ee7f47ab5cb6d4d7f')
# Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
# a description of each element in the source array.
pkgver() {
cd "$srcdir" || exit
printf "%s" "$(git describe --tags --abbrev=0)"
}
package() {
cd "$srcdir/" || exit
# install the binary to /usr/bin
mkdir -p "${pkgdir}/usr/bin"
install -m755 magellan "${pkgdir}/usr/bin/magellan"
}

View file

@ -4,6 +4,13 @@ import (
"github.com/OpenCHAMI/magellan/cmd"
)
var (
version string
commit string
date string
)
func main() {
cmd.SetVersionInfo(version, commit, date)
cmd.Execute()
}