1-
2- .PHONY : help clean lint test format act act-download distclean
1+ .PHONY : help clean lint test format act act-download distclean test_workflow
32
43ACT_VERSION ?= 0.2.82
54ACT_BINARY := $(shell pwd) /.act/act
@@ -25,20 +24,39 @@ format: ## Format code with black and other formatters
2524 black tests/ --line-length 88 --target-version py39
2625 @echo " Code formatting completed!"
2726
27+ # Convenience molecule targets (Ubuntu)
2828molecule-2204-no-uv :
29- @echo "molecule : ubuntu-22.04 (no uv)"
30- LOG =molecule-2204-no-uv.log; \
31- ( MOLECULE_UBUNTU_VERSION =2204 PYTHON_UV_INSTALL=false $(molecule ) test -s default 2>&1 | tee $$LOG ) || ( echo "FAILED: see $$LOG"; cat $$LOG; false )
29+ @echo " molecule: ubuntu-22.04 (no uv)"
30+ LOG=molecule-2204-no-uv.log; \
31+ ( MOLECULE_OS=ubuntu MOLECULE_VERSION =2204 PYTHON_UV_INSTALL=false $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
3232
3333molecule-2404-no-uv :
34- @echo "molecule : ubuntu-24.04 (no uv)"
35- LOG =molecule-2404-no-uv.log; \
36- ( MOLECULE_UBUNTU_VERSION =2404 PYTHON_UV_INSTALL=false $(molecule ) test -s default 2>&1 | tee $$LOG ) || ( echo "FAILED: see $$LOG"; cat $$LOG; false )
34+ @echo " molecule: ubuntu-24.04 (no uv)"
35+ LOG=molecule-2404-no-uv.log; \
36+ ( MOLECULE_OS=ubuntu MOLECULE_VERSION =2404 PYTHON_UV_INSTALL=false $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
3737
3838molecule-2404-uv :
39- @echo "molecule : ubuntu-24.04 (with uv)"
40- LOG =molecule-2404-uv.log; \
41- ( MOLECULE_UBUNTU_VERSION=2404 PYTHON_UV_INSTALL=true PYTHON_UV_SUFFIX="-alt" $(molecule ) test -s default 2>&1 | tee $$LOG ) || ( echo "FAILED: see $$LOG"; cat $$LOG; false )
39+ @echo " molecule: ubuntu-24.04 (with uv)"
40+ LOG=molecule-2404-uv.log; \
41+ ( MOLECULE_OS=ubuntu MOLECULE_VERSION=2404 PYTHON_UV_INSTALL=true PYTHON_UV_SUFFIX=" -alt" $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
42+
43+ # Convenience molecule targets (Debian 13)
44+ molecule-debian-13-no-uv :
45+ @echo " molecule: debian-13 (no uv)"
46+ LOG=molecule-debian-13-no-uv.log; \
47+ ( MOLECULE_OS=debian MOLECULE_VERSION=13 MOLECULE_IMAGE=${MOLECULE_IMAGE:- geerlingguy/ docker-debian13-ansible: latest} PYTHON_UV_INSTALL=false $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
48+
49+ molecule-debian-13-uv :
50+ @echo " molecule: debian-13 (with uv)"
51+ LOG=molecule-debian-13-uv.log; \
52+ ( MOLECULE_OS=debian MOLECULE_VERSION=13 MOLECULE_IMAGE=${MOLECULE_IMAGE:- geerlingguy/ docker-debian13-ansible: latest} PYTHON_UV_INSTALL=true PYTHON_UV_SUFFIX=" -alt" $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
53+
54+ # Generic runner: allows invocation like:
55+ # make molecule-run MOLECULE_OS=debian MOLECULE_VERSION=13 MOLECULE_IMAGE=... PYTHON_UV_INSTALL=false
56+ molecule-run :
57+ @echo " molecule: ${MOLECULE_OS:- ubuntu} -${MOLECULE_VERSION:- 2404} (uv=${PYTHON_UV_INSTALL:- true} )"
58+ LOG=molecule-${MOLECULE_OS:- ubuntu} -${MOLECULE_VERSION:- 2404} -$$( [ "${PYTHON_UV_INSTALL:-true}" = "true" ] && echo uv || echo no-uv ) .log; \
59+ ( MOLECULE_OS=" ${MOLECULE_OS:- ubuntu} " MOLECULE_VERSION=" ${MOLECULE_VERSION:- 2404} " MOLECULE_IMAGE=" ${MOLECULE_IMAGE:- geerlingguy/ docker-${MOLECULE_OS:- ubuntu}${MOLECULE_VERSION:- 2404} -ansible: latest} " PYTHON_UV_INSTALL=" ${PYTHON_UV_INSTALL:- true} " PYTHON_UV_SUFFIX=" ${PYTHON_UV_SUFFIX} " $( molecule) test -s default 2>&1 | tee $$ LOG ) || ( echo " FAILED: see $$ LOG" ; cat $$ LOG; false )
4260
4361act-download : # # download act
4462 @if [ ! -f " $( ACT_BINARY) " ]; then \
@@ -47,12 +65,14 @@ act-download: ## download act
4765 curl -L https://github.com/nektos/act/releases/download/v$(ACT_VERSION ) /act_Linux_x86_64.tar.gz | tar -xz -C $(shell pwd) /.act act ; \
4866 fi
4967
50- molecule : molecule-2404-uv molecule-2404-no-uv molecule-2204-no-uv
68+ molecule : molecule-2404-uv molecule-2404-no-uv molecule-2204-no-uv molecule-debian-13-uv molecule-debian-13-no-uv
5169
52- test : act-download # # Run GitHub workflows, but locally
70+ test_workflow : act-download # # Run GitHub workflows, but locally
5371 @echo " Running Tests!"
5472 $(ACT_BINARY )
5573
74+ test : molecule
75+
5676clean : molecule-destroy # # Clean up molecule instances and temporary files
5777 @echo " Cleaning up..."
5878 find . -name " *.pyc" -delete
0 commit comments