blob: b201998243a162902fd3c0d48dbc7edc29d61ad5 [file] [log] [blame]
Joey Armstrongf128de82023-09-08 17:05:18 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
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# -----------------------------------------------------------------------
17# Intent: Helper makefile target used to setup for a release
18# -----------------------------------------------------------------------
19
20$(if $(DEBUG),$(warning ENTER))
21
22##-------------------##
23##---] GLOBALS [---##
24##-------------------##
25
26# TODO: Library function $(call mk-path,makefiles/release/targets.mk)
27release-mk-top := $(abspath $(lastword $(MAKEFILE_LIST)))
28release-mk-top := $(subst /makefiles/release/targets.mk,$(null),$(release-mk-top))
29
30GIT ?= /usr/bin/env git
31
32##--------------------##
33##---] INCLUDES [---##
34##--------------------##
35include $(ONF_MAKEDIR)/release/voltha-versions.mk
36include $(ONF_MAKEDIR)/release/targets/voltha-certification.mk
37include $(ONF_MAKEDIR)/release/targets/voltha-e2e.mk
38include $(ONF_MAKEDIR)/release/targets/voltha-nightly-jobs.mk
39
40# last-release := voltha-2.11
41last-release := $(voltha-release-last)
42
43
44##-------------------##
45##---] TARGETS [---##
46##-------------------##
47all: help
48
49## ---------------------------------------------------------------------------
50## Intent: Build these deps to create a new branch/release area
51## ---------------------------------------------------------------------------
52create-jobs-release += create-jobs-release-bat
53create-jobs-release += create-jobs-release-certification
54create-jobs-release += create-jobs-release-nightly
55create-jobs-release += create-jobs-release-units
56create-jobs-release += create-jobs-release-e2e
57
58create-jobs-release : $(create-jobs-release)
59
60 @echo
61 $(GIT) status
62
63## ---------------------------------------------------------------------------
64## Intent: Create branch driven pipeline test jobs.
65## ---------------------------------------------------------------------------
66units-yaml := $(release-mk-top)/jjb/pipeline/voltha/$(voltha-version)
67units-root := $(subst /$(voltha-version),$(null),$(units-yaml))
68create-jobs-release-units : $(units-yaml)
69$(units-yaml):
70
71 @echo
72 @echo "** Create branch driven pipeline: unit tests"
73 $(HIDE)mkdir -vp $@
74 rsync -r --checksum $(units-root)/master/. $@/.
75 $(HIDE)/bin/ls -l $(units-root)
76
77## ---------------------------------------------------------------------------
78## Intent: Create branch driven nightly test jobs.
79## ---------------------------------------------------------------------------
80sterile-create-jobs-release := $(addprefix sterile-,$(create-jobs-release))
81sterile-create-jobs-release : $(sterile-create-jobs-release)
82 $(RM) -r $(units-yaml)
83
84$(if $(DEBUG),$(warning LEAVE))
85
86# [EOF]