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