Build and packaging library
  • Python 54.1%
  • Makefile 33.7%
  • Shell 12.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann c42f5f98ab
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 4m3s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m2s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 4m16s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 3m51s
CI / Packaging test (push) Successful in 0s
test-guard.mk: Add file
Running "make clean" in some directories can break "make test" in
others. That notably happens by running clean somewhere in or below
$(TOPDIR)/src/python, which removes __init__.py files potentially needed
by unit and integration tests in $(TOPDIR)/test.

This commit makes the failure easily visible by introducing the notion
of "testabiltity" - if the tree is not testable, "make test" logs
exactly that in a clear error message and gives up.

Makefiles which need to check "testability" can use it as a
prerequisite. This commit does that with py-run.mk and jw-py-test.mk.

Testability is asserted by running "make", "make all" or "make test"
from $(TOPDIR). A successful toplevel build coincides with testability,
and leaves a $(TOPDIR)/dirs-all.done behind, which is why that file is
the perfect testability marker.

It is automatically created by a toplevel build and cleared by using the
"invalidate-testability" prerequisite. This commit makes target "clean"
depend on it in py-mod.mk. To be extended to other use cases / makefile
snippets as needed.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-08-18 14:05:30 +02:00
.github/workflows ci.yaml: test-packaging.yaml@{master-test -> master} 2026-06-08 19:43:15 +02:00
bin bin, make, scripts: Re-add files necessary for packaging jw-build 2025-11-14 11:22:50 +01:00
conf py-check.mk: Run isort with "make format" 2026-08-11 16:45:14 +02:00
make test-guard.mk: Add file 2026-08-18 14:05:30 +02:00
scripts defs.mk: Default VERSION -> 0.1.0-0-dev 2026-08-15 20:44:30 +02:00
src App: Remove ResultCache 2026-08-18 13:02:04 +02:00
test lib.App: Add a root command slot 2026-08-17 12:53:05 +02:00
.gitignore cache.mk: Include from topdir.mk, not make.mk 2026-07-22 14:38:24 +02:00
HASH Release 1.0.0-254@suse-tumbleweed/x86_64 2026-08-17 23:33:40 +00:00
Makefile cache.mk: Include from topdir.mk, not make.mk 2026-07-22 14:38:24 +02:00
RELEASES Release 1.0.0-254@suse-tumbleweed/x86_64 2026-08-17 23:33:40 +00:00
VERSION Start version: 1.0.0-254 2026-08-17 23:11:43 +00:00