view Makefile @ 6847:f0a052aa924d

ci: run tests-py3 jobs on v2.0 images We can't use v1.0 images because they still have Python 3.7. Let's switch to using pip to install the extensions to avoid a SetuptoolsDeprecationWarning about running setup.py directly. This also avoid the warning about python_requires apparently. The "running as root" warning cannot be simply avoided by using a different CI image. We do have v2.1 images that default to ci-runner user, but no one forbids people from running the test locally as a root user, one way or another. Running pip as root shouldn't matter in this case, since it's not a real system install, so this particular warning is always irrelevant.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 12 Sep 2024 16:41:22 +0400
parents a80ed2e4745b
children
line wrap: on
line source

PYTHON ?= python3
VERSION = $(shell $(PYTHON) setup.py --version)
TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
HGTESTS = $(HGROOT)/tests

.PHONY: help
help:
	@echo 'Commonly used make targets:'
	@echo '  deb-prepare        - prepare the build of a debian package'
	@echo '  install-home       - install with setup.py install --home=$$HOME ($(HOME))'
	@echo '  tests              - run all tests in the automatic test suite'

.PHONY: all
all: help

.PHONY: deb-prepare
deb-prepare:
	$(PYTHON) setup.py sdist --dist-dir ..
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
	rm -rf ../mercurial-evolve_$(VERSION).orig
	mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
	cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
	@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`

.PHONY: install-home
install-home:
	$(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force --old-and-unmanageable --single-version-externally-managed

.PHONY: doc
doc:
	$(MAKE) -C docs

.PHONY: _check_hgroot
_check_hgroot:
ifeq ($(HGROOT),)
	$(error HGROOT is not set to the root of the hg source tree)
endif

.PHONY: tests
tests: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)

test-%: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@