blob: 85124b8c9a1ec208bf3058d10ee01040f49ff3f4 [file] [log] [blame]
Joey Armstrong7f8436c2023-07-09 20:23:27 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
Joey Armstrong9cdee9f2024-01-03 04:56:14 -05003# Copyright 2023-2024 Open Networking Foundation (ONF) and the ONF Contributors
Joey Armstrong7f8436c2023-07-09 20:23:27 -04004#
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# -----------------------------------------------------------------------
17
18##-------------------##
19##---] GLOBALS [---##
20##-------------------##
21.PHONY: lint-venv
22
23##-------------------##
24##---] TARGETS [---##
25##-------------------##
26ifndef NO-LINT-JJB
27 lint : lint-jjb
28endif
29
30## -----------------------------------------------------------------------
31## Intent: Construct command line for linting jenkins-job-builder config
32## -----------------------------------------------------------------------
33
34ifdef DEBUG
35 lint-jjb-args += --log_level DEBUG# # verbosity: high
36else
37 lint-jjb-args += --log_level INFO# # verbosity: default
38endif
39lint-jjb-args += --ignore-cache
40lint-jjb-args += test# # command action
41lint-jjb-args += -o archives/job-configs# # Generated jobs written here
42lint-jjb-args += --recursive
43lint-jjb-args += --config-xml# # JJB v3.0 write to OUTPUT/jobname/config.xml
44lint-jjb-args += jjb/# # JJB config sources (input)
45
46lint-jjb-deps := $(null)
47lint-jjb-deps += $(venv-activate-script)
48lint-jjb-deps += checkout-ci-management-sub-modules
49lint-jjb: $(lint-jjb-deps)
50 $(activate) && { jenkins-jobs $(lint-jjb-args); }
51
52## -----------------------------------------------------------------------
53## -----------------------------------------------------------------------
54help ::
55 @echo ' lint-jjb Validate jjb job generation'
56ifdef VERBOSE
57 @echo ' DEBUG=1 lint-jjb --log_level=DEBUG'
58endif
59
60# [ERRORS]
61# -----------------------------------------------------------------------
62# make: *** No rule to make target 'checkout-ci-management-sub-modules', needed by 'lint-jjb'. Stop.
63# o jjb lint checking is only valid for ci-management repos.
64# o Enable (NO_LINT_JJB := true) in ${repo-root}/config.mk
65# -----------------------------------------------------------------------
66
67# [EOF]