mirror of
https://github.com/mikefarah/yq.git
synced 2026-03-10 15:54:26 +00:00
* feat: K8S KYAML output format support Reference: https://github.com/kubernetes/enhancements/blob/master/keps/sig-cli/5295-kyaml/README.md Co-authored-by: Codex <codex@openai.com> Generated-with: OpenAI Codex CLI (partial) Signed-off-by: Robin H. Johnson <rjohnson@coreweave.com> * build: gomodcache/gocache should not be committed Signed-off-by: Robin H. Johnson <rjohnson@coreweave.com> * chore: fix spelling of behaviour Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> * build: pass GOFLAGS to docker to support buildvcs=false In trying to develop the KYAML support, various tests gave false positive results because they made assumptions about Git functionality Make it possible to avoid that by passing GOFLAGS='-buildvcs=false' to to Makefile. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> * doc: cover documentScenarios for tests Signed-off-by: Robin H. Johnson <rjohnson@coreweave.com> * build: exclude go caches from gosec Without tuning, gosec scans all of the vendor/gocache/gomodcache, taking several minutes (3m35 here), whereas the core of the yq takes only 15 seconds to scan. If we intend to remediate upstream issues in future; add a seperate target to scan those. Signed-off-by: Robin H. Johnson <rjohnson@coreweave.com> --------- Signed-off-by: Robin H. Johnson <rjohnson@coreweave.com> Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> Co-authored-by: Codex <codex@openai.com>
43 lines
1.2 KiB
Makefile
43 lines
1.2 KiB
Makefile
export PROJECT = yq
|
|
IMPORT_PATH := github.com/mikefarah/${PROJECT}
|
|
|
|
export GIT_COMMIT = $(shell git rev-parse --short HEAD)
|
|
export GIT_DIRTY = $(shell test -n "$$(git status --porcelain)" && echo "+CHANGES" || true)
|
|
export GIT_DESCRIBE = $(shell git describe --tags --always)
|
|
GOFLAGS :=
|
|
LDFLAGS :=
|
|
LDFLAGS += -X main.GitCommit=${GIT_COMMIT}${GIT_DIRTY}
|
|
LDFLAGS += -X main.GitDescribe=${GIT_DESCRIBE}
|
|
LDFLAGS += -w -s
|
|
|
|
GITHUB_TOKEN ?=
|
|
|
|
# Windows environment?
|
|
CYG_CHECK := $(shell hash cygpath 2>/dev/null && echo 1)
|
|
ifeq ($(CYG_CHECK),1)
|
|
VBOX_CHECK := $(shell hash VBoxManage 2>/dev/null && echo 1)
|
|
|
|
# Docker Toolbox (pre-Windows 10)
|
|
ifeq ($(VBOX_CHECK),1)
|
|
ROOT := /${PROJECT}
|
|
else
|
|
# Docker Windows
|
|
ROOT := $(shell cygpath -m -a "$(shell pwd)")
|
|
endif
|
|
else
|
|
# all non-windows environments
|
|
ROOT := $(shell pwd)
|
|
SELINUX := $(shell which getenforce 2>&1 >/dev/null && echo :z)
|
|
endif
|
|
|
|
DEV_IMAGE := ${PROJECT}_dev
|
|
|
|
ENGINERUN := ${ENGINE} run --rm \
|
|
-e LDFLAGS="${LDFLAGS}" \
|
|
-e GOFLAGS="${GOFLAGS}" \
|
|
-e GITHUB_TOKEN="${GITHUB_TOKEN}" \
|
|
-v ${ROOT}/vendor:/go/src${SELINUX} \
|
|
-v ${ROOT}:/${PROJECT}/src/${IMPORT_PATH}${SELINUX} \
|
|
-w /${PROJECT}/src/${IMPORT_PATH} \
|
|
${DEV_IMAGE}
|