tag v0.155.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.155.0 ---------------- * Fedora 43: add shadow-utils when LockRoot is enabled, update cloud-init service name (osbuild/images#1618) * Author: Achilleas Koutsou, Reviewers: Gianluca Zuccarelli, Michael Vogt * Update osbuild dependency commit ID to latest (osbuild/images#1609) * Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger, Tomáš Hozza * Update snapshots to 20250626 (osbuild/images#1623) * Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger * distro/rhel9: xz compress azure-cvm image type [HMS-8587] (osbuild/images#1620) * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza * distro/rhel: introduce new image type: Azure SAP Apps [HMS-8738] (osbuild/images#1612) * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza * distro/rhel: move ansible-core to sap_extras_pkgset (osbuild/images#1624) * Author: Achilleas Koutsou, Reviewers: Brian C. Lane, Tomáš Hozza * github/create-tag: allow passing the version when run manually (osbuild/images#1621) * Author: Achilleas Koutsou, Reviewers: Lukáš Zapletal, Tomáš Hozza * rhel9: move image-config into pure YAML (HMS-8593) (osbuild/images#1616) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * test: split manifest checksums into separate files (osbuild/images#1625) * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza — Somewhere on the Internet, 2025-06-30 --- tag v0.156.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.156.0 ---------------- * Many: delete repositories for EOL distributions (HMS-7044) (osbuild/images#1607) * Author: Tomáš Hozza, Reviewers: Michael Vogt, Simon de Vlieger * RHSM/facts: add 'image-builder CLI' API type (osbuild/images#1640) * Author: Tomáš Hozza, Reviewers: Brian C. Lane, Simon de Vlieger * Update dependencies 2025-06-29 (osbuild/images#1628) * Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza * Update osbuild dependency commit ID to latest (osbuild/images#1627) * Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza * [RFC] image: drop `InstallWeakDeps` from image.DiskImage (osbuild/images#1642) * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger, Tomáš Hozza * build(deps): bump the go-deps group across 1 directory with 3 updates (osbuild/images#1632) * Author: dependabot[bot], Reviewers: SchutzBot, Tomáš Hozza * distro/rhel10: xz compress azure-cvm image type (osbuild/images#1638) * Author: Achilleas Koutsou, Reviewers: Brian C. Lane, Simon de Vlieger * distro: cleanup/refactor distro/{defs,generic} (HMS-8744) (osbuild/images#1570) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * distro: remove some hardcoded values from generic/images.go (osbuild/images#1636) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * distro: small tweaks for the YAML based imagetypes (osbuild/images#1622) * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger * fedora/wsl: packages and locale (osbuild/images#1635) * Author: Simon de Vlieger, Reviewers: Michael Vogt, Tomáš Hozza * image/many: make compression more generic (osbuild/images#1634) * Author: Simon de Vlieger, Reviewers: Brian C. Lane, Michael Vogt * manifest: handle content template name with spaces (osbuild/images#1641) * Author: Bryttanie, Reviewers: Brian C. Lane, Michael Vogt, Tomáš Hozza * many: implement gzip (osbuild/images#1633) * Author: Simon de Vlieger, Reviewers: Michael Vogt, Tomáš Hozza * rhel/azure: set GRUB_TERMINAL based on architecture [RHEL-91383] (osbuild/images#1626) * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza — Somewhere on the Internet, 2025-07-07 ---
167 lines
4.3 KiB
Makefile
167 lines
4.3 KiB
Makefile
# © Broadcom. All Rights Reserved.
|
|
# The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# If you update this file, please follow
|
|
# https://www.thapaliya.com/en/writings/well-documented-makefiles/
|
|
|
|
# Ensure Make is run with bash shell as some syntax below is bash-specific
|
|
SHELL := /usr/bin/env bash
|
|
|
|
# Print the help/usage when make is executed without any other arguments
|
|
.DEFAULT_GOAL := help
|
|
|
|
|
|
## --------------------------------------
|
|
## Help
|
|
## --------------------------------------
|
|
|
|
.PHONY: help
|
|
help: ## Display usage
|
|
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make [target] \033[36m\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 }' $(MAKEFILE_LIST)
|
|
|
|
|
|
## --------------------------------------
|
|
## Locations and programs
|
|
## --------------------------------------
|
|
|
|
# Directories
|
|
BIN_DIR := bin
|
|
TOOLS_DIR := hack/tools
|
|
TOOLS_BIN_DIR := $(TOOLS_DIR)/bin
|
|
|
|
# Tooling binaries
|
|
GO ?= $(shell command -v go 2>/dev/null)
|
|
GOLANGCI_LINT := $(TOOLS_BIN_DIR)/golangci-lint
|
|
|
|
|
|
## --------------------------------------
|
|
## Prerequisites
|
|
## --------------------------------------
|
|
|
|
# Do not proceed unless the go binary is present.
|
|
ifeq (,$(strip $(GO)))
|
|
$(error The "go" program cannot be found)
|
|
endif
|
|
|
|
|
|
## --------------------------------------
|
|
## Linting and fixing linter errors
|
|
## --------------------------------------
|
|
|
|
.PHONY: lint
|
|
lint: ## Run all the lint targets
|
|
$(MAKE) lint-go-full
|
|
|
|
GOLANGCI_LINT_FLAGS ?= --fast=true
|
|
.PHONY: lint-go
|
|
lint-go: $(GOLANGCI_LINT) ## Lint codebase
|
|
$(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_FLAGS)
|
|
|
|
.PHONY: lint-go-full
|
|
lint-go-full: GOLANGCI_LINT_FLAGS = --fast=false --max-same-issues=200
|
|
lint-go-full: lint-go ## Run slower linters to detect possible issues
|
|
|
|
.PHONY: fix
|
|
fix: GOLANGCI_LINT_FLAGS = --fast=false --fix
|
|
fix: lint-go ## Tries to fix errors reported by lint-go-full target
|
|
|
|
.PHONY: check
|
|
check: lint-go-full
|
|
check: ## Run linters
|
|
|
|
|
|
## --------------------------------------
|
|
## Tooling Binaries
|
|
## --------------------------------------
|
|
|
|
TOOLING_BINARIES := $(GOLANGCI_LINT)
|
|
tools: $(TOOLING_BINARIES) ## Build tooling binaries
|
|
.PHONY: $(TOOLING_BINARIES)
|
|
$(TOOLING_BINARIES):
|
|
cd $(TOOLS_DIR); make $(@F)
|
|
|
|
|
|
## --------------------------------------
|
|
## Build / Install
|
|
## --------------------------------------
|
|
.PHONY: install
|
|
install: ## Install govc and vcsim
|
|
$(MAKE) -C govc install
|
|
$(MAKE) -C vcsim install
|
|
|
|
|
|
## --------------------------------------
|
|
## Generate
|
|
## --------------------------------------
|
|
|
|
GO_MOD_FILES := $(filter-out ./hack/tools/go.mod,$(shell find . -name go.mod))
|
|
GO_MOD_OP := tidy
|
|
|
|
.PHONY: $(GO_MOD_FILES)
|
|
$(GO_MOD_FILES):
|
|
go -C $(@D) mod $(GO_MOD_OP)
|
|
|
|
.PHONY: mod
|
|
mod: $(GO_MOD_FILES)
|
|
mod: ## Validates the modules
|
|
|
|
.PHONY: modules-download
|
|
mod-download: GO_MOD_OP=download
|
|
mod-download: $(GO_MOD_FILES)
|
|
mod-download: ## Downloads and caches the modules
|
|
|
|
.PHONY: doc
|
|
doc: install
|
|
doc: ## Generates govc USAGE.md
|
|
./govc/usage.sh > ./govc/USAGE.md
|
|
|
|
.PHONY: generate-types
|
|
generate-types: ## Generate the types
|
|
$(MAKE) -C ./gen/ $@
|
|
|
|
|
|
## --------------------------------------
|
|
## Tests
|
|
## --------------------------------------
|
|
|
|
# Test options
|
|
TEST_COUNT ?= 1
|
|
TEST_TIMEOUT ?= 5m
|
|
TEST_RACE_HISTORY_SIZE ?= 5
|
|
GORACE ?= history_size=$(TEST_RACE_HISTORY_SIZE)
|
|
|
|
ifeq (-count,$(findstring -count,$(TEST_OPTS)))
|
|
$(error Use TEST_COUNT to override this option)
|
|
endif
|
|
|
|
ifeq (-race,$(findstring -race,$(TEST_OPTS)))
|
|
$(error The -race flag is enabled by default & cannot be specified in TEST_OPTS)
|
|
endif
|
|
|
|
ifeq (-timeout,$(findstring -timeout,$(TEST_OPTS)))
|
|
$(error Use TEST_TIMEOUT to override this option)
|
|
endif
|
|
|
|
.PHONY: go-test
|
|
go-test: ## Runs go unit tests with race detector enabled
|
|
GORACE=$(GORACE) CGO_ENABLED=1 $(GO) test \
|
|
-count $(TEST_COUNT) \
|
|
-race \
|
|
-timeout $(TEST_TIMEOUT) \
|
|
-v $(TEST_OPTS) \
|
|
./...
|
|
|
|
.PHONY: go-fips140-test
|
|
go-fips140-test: ## Test simulator can be used with fips140=only
|
|
GODEBUG=fips140=only $(GO) test ./property
|
|
|
|
go-test: ## Runs go unit tests with race detector enabled
|
|
.PHONY: govc-test
|
|
govc-test: install
|
|
govc-test: ## Runs govc bats tests
|
|
./govc/test/images/update.sh
|
|
(cd govc/test && ./vendor/github.com/bats-core/bats-core/bin/bats -t .)
|
|
|
|
.PHONY: test
|
|
test: go-test go-fips140-test govc-test ## Runs go-test and govc-test
|