#!/usr/bin/make -f export DH_GOLANG_EXCLUDES := script export DH_GOLANG_INSTALL_ALL := 1 # Skip flaky tests, see https://github.com/cli/cli/discussions/6858 export GITHUB_ACTIONS := true # If GH_TOKEN leaks into the build envivronment, it will break the test suite export GH_TOKEN := DATE_FMT = %Y-%m-%d ifdef SOURCE_DATE_EPOCH BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)") else BUILD_DATE ?= $(shell date -u "+$(DATE_FMT)") endif DEBIAN_VERSION := $(shell dpkg-parsechangelog --show-field Version) BUILD_VERSION := $(shell echo "$(DEBIAN_VERSION)" | sed 's/\(+dfsg[0-9]*\)\?-.*//') VENDOR := $(shell . /etc/os-release; echo $$ID | sed 's/^./\u&/') BUILD_DATE += $(VENDOR) $(DEBIAN_VERSION) LDFLAGS := -ldflags \ '-X "github.com/cli/cli/v2/internal/build.Date=$(BUILD_DATE)" \ -X "github.com/cli/cli/v2/internal/build.Version=$(BUILD_VERSION)"' all: @echo $(LDFLAGS) # Force this to run so the build target can be manually executed despite build/ existing %: FORCE dh $@ --builddirectory=debian/build --buildsystem=golang execute_before_dh_auto_configure: mkdir -p debian/build/src/google.golang.org ln -s $(CURDIR)/debian/go/src/google.golang.org/grpc debian/build/src/google.golang.org/grpc override_dh_auto_build: @command -V go @go version dh_auto_build -- $(LDFLAGS) debian/build/bin/gh --version mkdir -p debian/build/completion/bash debian/build/completion/zsh debian/build/bin/gh completion -s bash > debian/build/completion/bash/gh debian/build/bin/gh completion -s zsh > debian/build/completion/zsh/_gh debian/build/bin/gen-docs --man-page --doc-path debian/build/share/man/man1/ $(RM) debian/build/bin/gen-docs override_dh_auto_install: dh_auto_install -- --no-source SKIP="Test_viewRun|Test_createRun|TestPRReview_interactive|Test_ViewRun" override_dh_auto_test: dh_auto_test $(DH_BUILD_OPTS) -- -skip=$(SKIP) -dh_auto_test $(DH_BUILD_OPTS) -- -run=$(SKIP) FORCE: .PHONY: FORCE