File: rules

package info (click to toggle)
gh 2.46.0-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,548 kB
  • sloc: sh: 227; makefile: 117
file content (59 lines) | stat: -rwxr-xr-x 2,055 bytes parent folder | download
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