mirror of
https://github.com/project-zot/zot.git
synced 2025-02-03 23:09:41 -05:00
build: add commit hash to Config at build for proper discovery readme (#854)
* build: add commit hash to Config at build for proper discovery readme link * fix: use tag instead of commit hash, add to release build Signed-off-by: Catalin Hofnar <catalin.hofnar@gmail.com>
This commit is contained in:
parent
4bc7a2c824
commit
f3b1913fbd
5 changed files with 12 additions and 6 deletions
2
.github/workflows/ci-cd.yml
vendored
2
.github/workflows/ci-cd.yml
vendored
|
@ -153,6 +153,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
file: 'stacker.yaml'
|
file: 'stacker.yaml'
|
||||||
build-args: |
|
build-args: |
|
||||||
|
RELEASE_TAG=${{ github.event.release.tag_name }}
|
||||||
COMMIT=${{ github.event.release.tag_name }}-${{ github.sha }}
|
COMMIT=${{ github.event.release.tag_name }}-${{ github.sha }}
|
||||||
OS=${{ matrix.os }}
|
OS=${{ matrix.os }}
|
||||||
ARCH=${{ matrix.arch }}
|
ARCH=${{ matrix.arch }}
|
||||||
|
@ -198,6 +199,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
file: 'stacker.yaml'
|
file: 'stacker.yaml'
|
||||||
build-args: |
|
build-args: |
|
||||||
|
RELEASE_TAG=${{ github.event.release.tag_name }}
|
||||||
COMMIT=${{ github.event.release.tag_name }}-${{ github.sha }}
|
COMMIT=${{ github.event.release.tag_name }}-${{ github.sha }}
|
||||||
OS=${{ matrix.os }}
|
OS=${{ matrix.os }}
|
||||||
ARCH=${{ matrix.arch }}
|
ARCH=${{ matrix.arch }}
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -1,6 +1,7 @@
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
TOP_LEVEL=$(shell git rev-parse --show-toplevel)
|
TOP_LEVEL=$(shell git rev-parse --show-toplevel)
|
||||||
COMMIT_HASH=$(shell git describe --always --tags --long)
|
COMMIT_HASH=$(shell git describe --always --tags --long)
|
||||||
|
RELEASE_TAG=$(shell git describe --tags --abbrev=0)
|
||||||
GO_VERSION=$(shell go version | awk '{print $$3}')
|
GO_VERSION=$(shell go version | awk '{print $$3}')
|
||||||
COMMIT ?= $(if $(shell git status --porcelain --untracked-files=no),$(COMMIT_HASH)-dirty,$(COMMIT_HASH))
|
COMMIT ?= $(if $(shell git status --porcelain --untracked-files=no),$(COMMIT_HASH)-dirty,$(COMMIT_HASH))
|
||||||
CONTAINER_RUNTIME := $(shell command -v podman 2> /dev/null || echo docker)
|
CONTAINER_RUNTIME := $(shell command -v podman 2> /dev/null || echo docker)
|
||||||
|
@ -47,15 +48,15 @@ build-metadata:
|
||||||
.PHONY: binary-minimal
|
.PHONY: binary-minimal
|
||||||
binary-minimal: EXTENSIONS=minimal # tag doesn't exist, but we need it to overwrite default value and indicate that we have no extension in build-metadata
|
binary-minimal: EXTENSIONS=minimal # tag doesn't exist, but we need it to overwrite default value and indicate that we have no extension in build-metadata
|
||||||
binary-minimal: modcheck build-metadata
|
binary-minimal: modcheck build-metadata
|
||||||
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-minimal -buildmode=pie -tags containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=minimal -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
|
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-minimal -buildmode=pie -tags containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.io/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=minimal -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
|
||||||
|
|
||||||
.PHONY: binary
|
.PHONY: binary
|
||||||
binary: modcheck create-name build-metadata
|
binary: modcheck create-name build-metadata
|
||||||
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH) -buildmode=pie -tags $(EXTENSIONS),containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
|
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH) -buildmode=pie -tags $(EXTENSIONS),containers_image_openpgp -v -trimpath -ldflags "-X zotregistry.io/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION} -s -w" ./cmd/zot
|
||||||
|
|
||||||
.PHONY: binary-debug
|
.PHONY: binary-debug
|
||||||
binary-debug: modcheck swagger create-name build-metadata
|
binary-debug: modcheck swagger create-name build-metadata
|
||||||
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-debug -buildmode=pie -tags $(EXTENSIONS),debug,containers_image_openpgp -v -gcflags all='-N -l' -ldflags "-X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION}" ./cmd/zot
|
env CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o bin/zot-$(OS)-$(ARCH)-debug -buildmode=pie -tags $(EXTENSIONS),debug,containers_image_openpgp -v -gcflags all='-N -l' -ldflags "-X zotregistry.io/zot/pkg/api/config.ReleaseTag=${RELEASE_TAG} -X zotregistry.io/zot/pkg/api/config.Commit=${COMMIT} -X zotregistry.io/zot/pkg/api/config.BinaryType=$(extended-name) -X zotregistry.io/zot/pkg/api/config.GoVersion=${GO_VERSION}" ./cmd/zot
|
||||||
|
|
||||||
.PHONY: cli
|
.PHONY: cli
|
||||||
cli: modcheck create-name build-metadata
|
cli: modcheck create-name build-metadata
|
||||||
|
|
|
@ -14,6 +14,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
Commit string //nolint: gochecknoglobals
|
Commit string //nolint: gochecknoglobals
|
||||||
|
ReleaseTag string //nolint: gochecknoglobals
|
||||||
BinaryType string //nolint: gochecknoglobals
|
BinaryType string //nolint: gochecknoglobals
|
||||||
GoVersion string //nolint: gochecknoglobals
|
GoVersion string //nolint: gochecknoglobals
|
||||||
)
|
)
|
||||||
|
@ -125,6 +126,7 @@ type Config struct {
|
||||||
DistSpecVersion string `json:"distSpecVersion" mapstructure:"distSpecVersion"`
|
DistSpecVersion string `json:"distSpecVersion" mapstructure:"distSpecVersion"`
|
||||||
GoVersion string
|
GoVersion string
|
||||||
Commit string
|
Commit string
|
||||||
|
ReleaseTag string
|
||||||
BinaryType string
|
BinaryType string
|
||||||
AccessControl *AccessControlConfig
|
AccessControl *AccessControlConfig
|
||||||
Storage GlobalStorageConfig
|
Storage GlobalStorageConfig
|
||||||
|
@ -138,6 +140,7 @@ func New() *Config {
|
||||||
DistSpecVersion: distspec.Version,
|
DistSpecVersion: distspec.Version,
|
||||||
GoVersion: GoVersion,
|
GoVersion: GoVersion,
|
||||||
Commit: Commit,
|
Commit: Commit,
|
||||||
|
ReleaseTag: ReleaseTag,
|
||||||
BinaryType: BinaryType,
|
BinaryType: BinaryType,
|
||||||
Storage: GlobalStorageConfig{GC: true, GCDelay: storage.DefaultGCDelay, Dedupe: true},
|
Storage: GlobalStorageConfig{GC: true, GCDelay: storage.DefaultGCDelay, Dedupe: true},
|
||||||
HTTP: HTTPConfig{Address: "127.0.0.1", Port: "8080", Auth: &AuthConfig{FailDelay: 0}},
|
HTTP: HTTPConfig{Address: "127.0.0.1", Port: "8080", Auth: &AuthConfig{FailDelay: 0}},
|
||||||
|
|
|
@ -103,8 +103,8 @@ func GetExtensions(config *config.Config) distext.ExtensionList {
|
||||||
if config.Extensions != nil && config.Extensions.Search != nil {
|
if config.Extensions != nil && config.Extensions.Search != nil {
|
||||||
endpoints := []string{constants.ExtSearchPrefix}
|
endpoints := []string{constants.ExtSearchPrefix}
|
||||||
searchExt := getExtension("_zot",
|
searchExt := getExtension("_zot",
|
||||||
"https://github.com/project-zot/zot/tree/main/pkg/extensions/_zot.md",
|
"https://github.com/project-zot/zot/blob/"+config.ReleaseTag+"/pkg/extensions/_zot.md",
|
||||||
"zot registry extension",
|
"zot registry extensions",
|
||||||
endpoints)
|
endpoints)
|
||||||
|
|
||||||
extensions = append(extensions, searchExt)
|
extensions = append(extensions, searchExt)
|
||||||
|
|
|
@ -13,7 +13,7 @@ build:
|
||||||
cd /go/src/github.com/project-zot
|
cd /go/src/github.com/project-zot
|
||||||
git clone /zotcopy zot
|
git clone /zotcopy zot
|
||||||
cd /go/src/github.com/project-zot/zot
|
cd /go/src/github.com/project-zot/zot
|
||||||
make COMMIT=${{COMMIT}} OS=${{OS}} ARCH=${{ARCH}} clean binary${{EXT:}}
|
make COMMIT=${{COMMIT}} OS=${{OS}} ARCH=${{ARCH}} RELEASE_TAG=&{{RELEASE_TAG}} clean binary${{EXT:}}
|
||||||
cat > config.json << EOF
|
cat > config.json << EOF
|
||||||
{
|
{
|
||||||
"storage":{
|
"storage":{
|
||||||
|
|
Loading…
Add table
Reference in a new issue