[VOL-5010] - Clone unit tests onto a v2.12 branch
[VOL-5005] - Create a v2.12 release branch for test jobs.
[VOL-5004] - Deprecate voltha-2.8 unit tests
makefiles/release/include.mk
makefiles/release/help.mk
makefiles/release/voltha-versions.mk
makefiles/release/targets.mk
makefiles/release/targets/voltha-certification.mk
makefiles/release/targets/voltha-e2e.mk
makefiles/release/targets/voltha-nightly-jobs.mk
-------------------------------------------------
o Define make targets to create versioned subdirectories.
o 'branched' unit test files will live in subdirs.
o Refactoring still in progress, v2.8 tests are disabled/retired in the interim.
jjb/voltha-e2e.yaml
jjb/pipeline/voltha/voltha-2.12/
jjb/voltha-test/voltha-nightly-jobs/voltha-2.12.yaml
----------------------------------------------------
o Create versioned subdirectories to support v2.12 unit testing.
jjb/voltha-e2e.yaml
jjb/voltha-e2e/voltha-master.yaml
jjb/voltha-e2e/voltha-2.12.yaml
jjb/voltha-e2e/voltha-2.8.yaml
--------------------------------
o Guineapig: periodic-voltha-pm-data-test-bbsim
o Refactor unit test from voltha-e2e.yaml.
o Create new v2.12 pipeline job.
o Disable pre-lts legacy pipeline job 2.8
o Refactoring one test so job state in all branches can be checked.
o Tomorrow verify the v2.8 job did not launch
Change-Id: Ib550fae395e1a416466c2f5fb9640be8405dc39e
diff --git a/makefiles/release/help.mk b/makefiles/release/help.mk
index fde2d0e..0358ed8 100644
--- a/makefiles/release/help.mk
+++ b/makefiles/release/help.mk
@@ -24,8 +24,12 @@
@echo
@echo '[RELEASE] - Create branch driven testing pipelines'
@echo ' create-jobs-release'
- @echo ' create-jobs-release-nightly Nightly testing'
- @echo ' create-jobs-release-units Unit testing'
+ @echo ' create-jobs-release-e2e End-to-End testing'
+ @echo ' create-jobs-release-certification Certification testing'
+ @echo ' create-jobs-release-nightly Nightly testing'
+ @echo ' create-jobs-release-units Unit testing'
+
+ @echo ' sterile-create-jobs-release Purge pipeline job content'
help ::
@echo ' help-voltha-release Display voltha release targets'
diff --git a/makefiles/release/include.mk b/makefiles/release/include.mk
index afc03d9..3c9879e 100644
--- a/makefiles/release/include.mk
+++ b/makefiles/release/include.mk
@@ -28,7 +28,7 @@
ifdef USE_VOLTHA_RELEASE_MK
# Dynamic loading when targets are requested by name
- include $(ONF_MAKE)/release/targets.mk
+ include $(MAKEDIR)/release/targets.mk
endif
# [EOF]
diff --git a/makefiles/release/targets.mk b/makefiles/release/targets.mk
index 44aaac7..5ed307c 100644
--- a/makefiles/release/targets.mk
+++ b/makefiles/release/targets.mk
@@ -29,17 +29,17 @@
GIT ?= /usr/bin/env git
-# fatal to make help
-voltha-version ?= $(error $(MAKE) voltha-verison=voltha-x.yy is required)\
+##--------------------##
+##---] INCLUDES [---##
+##--------------------##
+include $(MAKEDIR)/release/voltha-versions.mk
+include $(MAKEDIR)/release/targets/voltha-certification.mk
+include $(MAKEDIR)/release/targets/voltha-e2e.mk
+include $(MAKEDIR)/release/targets/voltha-nightly-jobs.mk
-last-release := voltha-2.11
+# last-release := voltha-2.11
+last-release := $(voltha-release-last)
-## Known releases
-versions += master
-versions += voltha-2.12
-versions += voltha-2.11
-versions += voltha-2.8
-versions += playground
##-------------------##
##---] TARGETS [---##
@@ -47,12 +47,12 @@
all: help
## ---------------------------------------------------------------------------
-## Intent: Create branch driven pipeline test jobs.
+## Intent: Build these deps to create a new branch/release area
## ---------------------------------------------------------------------------
-## Build these deps to create a new release area
create-jobs-release += create-jobs-release-certification
create-jobs-release += create-jobs-release-nightly
create-jobs-release += create-jobs-release-units
+create-jobs-release += create-jobs-release-e2e
create-jobs-release : $(create-jobs-release)
@@ -75,63 +75,9 @@
## ---------------------------------------------------------------------------
## Intent: Create branch driven nightly test jobs.
-## o Clone config for the last nightly release
-## o In-place edit to the latest version.
## ---------------------------------------------------------------------------
-## NOTE: WIP - nightly jobs have not yet migrated from the mega job config file
-## ---------------------------------------------------------------------------
-nightly-dir := $(release-mk-top)/jjb/voltha-test/voltha-nightly-jobs
-nightly-yaml := $(nightly-dir)/$(voltha-version).yaml
-nightly-tmpl := $(nightly-dir)/$(last-release).yaml
-
-create-jobs-release-nightly : $(nightly-yaml)
-$(nightly-yaml) : $(nightly-tmpl)
-
- @echo
- @echo "** Create branch driven pipeline: nightly tests"
- sed -e 's/$(last-release)/$(voltha-version)/g' $< > $@
- $(HIDE)/bin/ls -l $(dir $@)
-
-## ---------------------------------------------------------------------------
-## Intent: Create branch driven nightly test jobs.
-## ---------------------------------------------------------------------------
-$(nightly-tmpl):
- @echo "ERROR: Yaml template branch does not exist: $@"
- @echo 1
-
-## ---------------------------------------------------------------------------
-## Intent: Create branch driven nightly test jobs.
-## o Clone config for the last nightly release
-## o In-place edit to the latest version.
-## ---------------------------------------------------------------------------
-## NOTE: WIP - nightly jobs have not yet migrated from the mega job config file
-## ---------------------------------------------------------------------------
-certification-dir := $(release-mk-top)/jjb/voltha-test/voltha-certification
-certification-yaml := $(certification-dir)/$(voltha-version).yaml
-certification-tmpl := $(certification-dir)/$(last-release).yaml
-
-create-jobs-release-certification : $(certification-yaml)
-$(certification-yaml) : $(certification-tmpl)
-
- @echo
- @echo "** Create branch driven pipeline: nightly tests"
- sed -e 's/$(last-release)/$(voltha-version)/g' $< > $@
- $(HIDE)/bin/ls -l $(dir $@)
-
-## ---------------------------------------------------------------------------
-## Intent: Create branch driven nightly test jobs.
-## ---------------------------------------------------------------------------
-$(certification-tmpl):
- @echo "ERROR: Yaml template branch does not exist: $@"
- @echo 1
-
-
-## ---------------------------------------------------------------------------
-## Intent: Create branch driven nightly test jobs.
-## ---------------------------------------------------------------------------
-sterile-create-jobs-release :
- $(RM) $(certification-yaml)
- $(RM) $(nightly-yaml)
+sterile-create-jobs-release := $(addprefix sterile-,$(create-jobs-release))
+sterile-create-jobs-release : $(sterile-create-jobs-release)
$(RM) -r $(units-yaml)
$(if $(DEBUG),$(warning LEAVE))
diff --git a/makefiles/release/targets/voltha-certification.mk b/makefiles/release/targets/voltha-certification.mk
new file mode 100644
index 0000000..55e4f1a
--- /dev/null
+++ b/makefiles/release/targets/voltha-certification.mk
@@ -0,0 +1,56 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# Intent: Helper makefile target used to setup for a release
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## o Clone config for the last nightly release
+## o In-place edit to the latest version.
+## ---------------------------------------------------------------------------
+## NOTE: WIP - nightly jobs have not yet migrated from the mega job config file
+## ---------------------------------------------------------------------------
+certification-dir := $(release-mk-top)/jjb/voltha-test/voltha-certification
+certification-yaml := $(certification-dir)/$(voltha-version).yaml
+certification-tmpl := $(certification-dir)/$(voltha-release-last).yaml
+
+create-jobs-release-certification : $(certification-yaml)
+$(certification-yaml) : $(certification-tmpl)
+
+ @echo
+ @echo "** Create branch driven pipeline: nightly tests"
+ sed -e 's/$(last-release)/$(voltha-version)/g' $< > $@
+ $(HIDE)/bin/ls -l $(dir $@)
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## ---------------------------------------------------------------------------
+$(certification-tmpl):
+ @echo "ERROR: Yaml template branch does not exist: $@"
+ @echo 1
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## ---------------------------------------------------------------------------
+sterile-create-jobs-release-certification :
+ $(RM) $(certification-yaml)
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/release/targets/voltha-e2e.mk b/makefiles/release/targets/voltha-e2e.mk
new file mode 100644
index 0000000..40e7c5d
--- /dev/null
+++ b/makefiles/release/targets/voltha-e2e.mk
@@ -0,0 +1,56 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# Intent: Helper makefile target used to setup for a release
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## o Clone config for the last nightly release
+## o In-place edit to the latest version.
+## ---------------------------------------------------------------------------
+## NOTE: WIP - nightly jobs have not yet migrated from the mega job config file
+## ---------------------------------------------------------------------------
+voltha-e2e-dir := $(release-mk-top)/jjb/voltha-e2e
+voltha-e2e-yaml := $(voltha-e2e-dir)/$(voltha-version).yaml
+voltha-e2e-tmpl := $(voltha-e2e-dir)/$(voltha-release-last).yaml
+
+create-jobs-release-e2e : $(voltha-e2e-yaml)
+$(voltha-e2e-yaml) : $(voltha-e2e-tmpl)
+
+ @echo
+ @echo "** Create branch driven pipeline: nightly tests"
+ sed -e 's/$(last-release)/$(voltha-version)/g' $< > $@
+ $(HIDE)/bin/ls -l $(dir $@)
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## ---------------------------------------------------------------------------
+$(voltha-e2e-tmpl):
+ @echo "ERROR: Yaml template branch does not exist: $@"
+ @echo 1
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## ---------------------------------------------------------------------------
+sterile-create-jobs-release-e2e :
+ $(RM) $(voltha-e2e-yaml)
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/release/targets/voltha-nightly-jobs.mk b/makefiles/release/targets/voltha-nightly-jobs.mk
new file mode 100644
index 0000000..20e37de
--- /dev/null
+++ b/makefiles/release/targets/voltha-nightly-jobs.mk
@@ -0,0 +1,54 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# Intent: Helper makefile target used to setup for a release
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---] GLOBALS [---##
+##-------------------##
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## o Clone config for the last nightly release
+## o In-place edit to the latest version.
+## ---------------------------------------------------------------------------
+## NOTE: WIP - nightly jobs have not yet migrated from the mega job config file
+## ---------------------------------------------------------------------------
+voltha-nightly-dir := $(release-mk-top)/jjb/voltha-test/voltha-nightly-jobs
+voltha-nightly-yaml := $(voltha-nightly-dir)/$(voltha-version).yaml
+voltha-nightly-tmpl := $(voltha-nightly-dir)/$(voltha-release-last).yaml
+
+create-jobs-release-nightly : $(voltha-nightly-yaml)
+$(voltha-nightly-yaml) : $(voltha-nightly-tmpl)
+
+ @echo
+ @echo "** Create branch driven pipeline: nightly tests"
+ sed -e 's/$(last-release)/$(voltha-version)/g' $< > $@
+ $(HIDE)/bin/ls -l $(dir $@)
+
+## ---------------------------------------------------------------------------
+## Intent: Create branch driven nightly test jobs.
+## ---------------------------------------------------------------------------
+$(voltha-nightly-tmpl):
+ @echo "ERROR: Yaml template branch does not exist: $@"
+ @echo 1
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/release/voltha-versions.mk b/makefiles/release/voltha-versions.mk
new file mode 100644
index 0000000..a6ab7b6
--- /dev/null
+++ b/makefiles/release/voltha-versions.mk
@@ -0,0 +1,44 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# Intent: Helper makefile target used to setup for a release
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---] GLOBALS [---##
+##-------------------##
+voltha-versions += master
+voltha-versions += voltha-2.12
+voltha-versions += voltha-2.11
+voltha-versions += voltha-2.8
+voltha-versions += playground
+
+# VOLTHA: release
+# active : $(words 0,$(voltha-versions))
+# next : $(words 1,$(voltha-versions))
+# last : $(words 2,$(voltha-versions))
+
+# fatal to make help (param is null)
+voltha-version ?= $(error $(MAKE) voltha-verison=voltha-x.yy is required)\
+
+voltha-release-this := $(word 1,$(voltha-versions))
+voltha-release-last := $(word 2,$(voltha-versions))
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]