1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#!/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
|