github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/nightly_build.mak (about)

     1  # This makefile is structured to allow building a complete ddev, with clean/fresh containers at current HEAD.
     2  
     3  SHELL := /bin/bash
     4  
     5  VERSION := $(shell git describe --tags --always --dirty)
     6  
     7  VERSION_VARIABLES=DdevVersion WebTag DBTag RouterTag DBATag
     8  WebTag = $(VERSION)
     9  DBTag =  $(VERSION)
    10  RouterTag = $(VERSION)
    11  DBATag = $(VERSION)
    12  
    13  # List of containers to be built in containers/ directory
    14  CONTAINER_DIRS = $(shell pushd containers >/dev/null && \ls && popd >/dev/null )
    15  
    16  BASEDIR=./containers/
    17  
    18  .PHONY: $(CONTAINER_DIRS) all build test clean container build
    19  
    20  # Build container dirs then build binaries
    21  all: container test
    22  
    23  container: $(CONTAINER_DIRS)
    24  
    25  clean:
    26  	for item in $(CONTAINER_DIRS); do \
    27  		echo $$item && $(MAKE) -C $(addprefix $(BASEDIR),$$item) --no-print-directory clean; \
    28  	done
    29  	$(MAKE) clean
    30  
    31  
    32  $(CONTAINER_DIRS):
    33  	$(MAKE) -C $(addprefix $(BASEDIR),$@) --print-directory test
    34  
    35  test:
    36  	$(MAKE) && $(MAKE) VERSION_VARIABLES="$(VERSION_VARIABLES)" WebTag="$(VERSION)" DBTag="$(VERSION)" RouterTag="$(VERSION)" DBATag="$(VERSION)" TESTARGS="" test