blob: b20505480cc632d0c4811c15a71d95041168ca62 [file] [log] [blame]
Joey Armstrong65405412022-11-22 10:43:06 -05001# -*- makefile -*-
Joey Armstrong3f575f72023-01-15 23:49:19 -05002# -----------------------------------------------------------------------
3# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# -----------------------------------------------------------------------
Joey Armstrong65405412022-11-22 10:43:06 -050017
Zack Williamsc2140b92018-04-05 09:19:22 -070018# Makefile for testing JJB jobs in a virtualenv
Joey Armstrong3f575f72023-01-15 23:49:19 -050019.PHONY: all clean help test
20.DEFAULT_GOAL := all
Joey Armstrongb3a06412023-02-06 09:58:58 -050021# .DEFAULT_GOAL := lint-jjb
Zack Williamsc2140b92018-04-05 09:19:22 -070022
Joey Armstrong3f575f72023-01-15 23:49:19 -050023##-------------------##
24##---] GLOBALS [---##
25##-------------------##
26TOP ?= .
27MAKEDIR ?= $(TOP)/makefiles
28export SHELL := bash -e -o pipefail
29
Joey Armstrong3f575f72023-01-15 23:49:19 -050030##--------------------##
31##---] INCLUDES [---##
32##--------------------##
Joey Armstrongb3a06412023-02-06 09:58:58 -050033-include config.mk
Joey Armstrong3f575f72023-01-15 23:49:19 -050034include $(MAKEDIR)/include.mk
35
Zack Williamsc2140b92018-04-05 09:19:22 -070036VENV_DIR ?= venv-jjb
Joey Armstrong0895a882023-02-06 14:50:39 -050037JJB_VERSION ?= 2.8.0
Joey Armstrong3f575f72023-01-15 23:49:19 -050038# JJB_VERSION ?= 4.1.0
Zack Williamsc2140b92018-04-05 09:19:22 -070039JOBCONFIG_DIR ?= job-configs
40
Zack Williamsc2140b92018-04-05 09:19:22 -070041$(JOBCONFIG_DIR):
42 mkdir $@
43
Joey Armstrong3f575f72023-01-15 23:49:19 -050044## -----------------------------------------------------------------------
45## -----------------------------------------------------------------------
Joey Armstrongb3a06412023-02-06 09:58:58 -050046# lint : lint-jjb
47lint-tox:
48 tox -e py310
49
50## -----------------------------------------------------------------------
51## -----------------------------------------------------------------------
Joey Armstrong3f575f72023-01-15 23:49:19 -050052.PHONY: test
53test: $(venv-activate-script) $(JOBCONFIG_DIR)
54 $(activate) \
55 && pipdeptree \
56 && jenkins-jobs -l DEBUG test --recursive --config-xml -o "$(JOBCONFIG_DIR)" jjb/ ;
Zack Williams9ac51db2018-04-16 16:44:24 -070057
Joey Armstrong3f575f72023-01-15 23:49:19 -050058## -----------------------------------------------------------------------
59## -----------------------------------------------------------------------
60.PHONY: clean
Zack Williamsc2140b92018-04-05 09:19:22 -070061clean:
Joey Armstrong3f575f72023-01-15 23:49:19 -050062 $(RM) -r $(JOBCONFIG_DIR)
63
64include $(ONF_MAKE)/help/trailer.mk
Joey Armstrong65405412022-11-22 10:43:06 -050065
66# [EOF]