TT#43813 Add tabs on release_panel supported_releases

* list of supported releases is only going to grow
  better to group them
* add some more config yaml files to able to produce
  groups in test

Change-Id: I13fa7e6f3de08b5f131dc5c19cfd28d0ed7a4f53
changes/37/38337/1
Victor Seva 5 years ago
parent f138c5f067
commit e06a08afae

@ -0,0 +1,279 @@
distris:
- release-mr7.5.1
- buster
debian_release: buster
release-mr7.5.1: &packages
# TT#32916 TT#44119 bcg729 for G.729 codec support for rtpengine
- bcg729: 1.0.4+git20180222-0.1~bpo10+1
# TT#44190 needed by ngcp-panel
- grafana: 5.4.3
# MT#13097 + TT#11775 + TT#44117 needed by libinewrate
- libactivemq-cpp: 3.9.4-0.1~bpo10+1sipwise1
# TT#44184 needed by platform
- mariadb-connector-odbc: 3.1.1-1sipwise1~bpo10+1
# TT#44155 needed by sems*, not available in Buster at the moment
# TT#55301 does not build with latest mariadb libraries.
- mysql++: 3.2.2+pristine-2sipwise1~bpo10+1
# MT#19499 local robustness patches
- net-snmp: 5.7.3+dfsg-5sipwise1~bpo10+1
# TT#2398 influxdb + dependencies
- golang-github-influxdata-influxql: 0.0~git20180925.1cbfca8-0.1sipwise1~bpo10+1
# TT#28100 needed by platform
# + Packaging updates: R³:no.
# + Default to use the unix socket if available.
- influxdb: 1.6.4-1+sipwise1~bpo10+1
# TT#44187 needed by platform
# + Packaging updates: R³:no, Standards-Version=4.2.1, debhelper=11, © years.
# + Version should have been -0.1sipwiseN from the start.
- influxdb-relay: 0.0~20161114.0.adaa2ea-1sipwise2~bpo10+1
# TT#44188 needed by platform
- telegraf: 1.7.4-0.1sipwise1~bpo10+4
# TT#44918 Needed for Debian/buster PRO/Carrier
- ngcp-pxe-boot: 0.6.2.1+0~sipwise20190805
# TT#59330 rebuild of package pulled from non-free
- snmp-mibs-downloader: 1.2~bpo10+1
# TT#62202 Needed for Debian/buster PRO/Carrier
- monit: 5.25.2-3+deb10u1
# TT#66562 TT#70910 Fix assert due to insufficient function return checks.
- systemd: 241-7~deb10u2
# TT#66582 The version in Debian/buster does not work for us (yet)
- prosody: 0.9.12-2+deb9u2+bpo10+1
buster: *packages
repository-verify:
white-list: []
jenkins-jobs:
ignore:
- heartbeat-binaries
- heartbeat-tap-test
build_deps:
data-hal:
- ngcp-panel
ngcp-schema:
- ngcp-panel
libinewrate:
- sems-pbx
libswrate:
- kamailio
- sems-pbx
libtcap:
- kamailio
- lnpd
sipwise-base:
- ngcp-panel
- ngcp-schema
check-tools:
- snmp-agent
projects:
- acc-cdi
- asterisk-voicemail
- backup-tools
- bulk-processor
- bulk-processor-projects
- bootenv
- cdr-exporter
- cfg-schema
- check-tools
- cleanup-tools
- cloudpbx-sources
- comx-application
- comx-fileshare-service
- csta-testsuite
- data-hal
- db-schema
- deployment-iso
- dhtest
- documentation
- faxserver
- heartbeat
- installer
- janus-admin
- janus-client
- kamailio
- kamailio-config-tests
- keyring
- klish
- libinewrate
- libswrate
- libtcap
- license-client
- lnpd
- lua-ngcp-kamailio
- mediator
- megacli
- metapackages
- monitoring-tools
- ngcp-api-tools
- ngcp-csc-ui
- ngcp-exporter
- ngcp-fauditd
- ngcp-inventory
- ngcp-logfs
- ngcp-klish-config
- ngcp-panel
- ngcp-prompts
- ngcp-rtcengine
- ngcp-schema
- ngcp-status
- ngcp-sudo-plugin
- ngcp-support
- ngcp-user-framework
- ngcpcfg
- ngcpcfg-api
- ngcpcfg-ha
- ngrep-sip
- prosody
- pushd
- rate-o-mat
- reminder
- rtpengine
- sems
- sems-ha
- sems-modules
- sems-pbx
- sipwise-base
- snmp-agent
- system-tests
- system-tools
- templates
- upgrade
- vmnotify
- voisniff-ng
- websocket
release_mirror:
common:
copysrc:
- kamailio-config-tests
- klish
- libdata-hal-perl
- libsipwise-base-perl
- lua-ngcp-kamailio
- ngcp-acc-cdi
- ngcp-api-tools
- ngcp-asterisk-voicemail
- ngcp-bulk-processor
- ngcp-cdr-exporter
- ngcp-cfg-schema
- ngcp-check-tools
- ngcp-cleanup-tools
- ngcp-csc-ui
- ngcp-db-schema
- ngcp-deployment-iso
- ngcp-dhtest
- ngcp-handbook
- ngcp-installer
- ngcp-kamailio
- ngcp-keyring
- ngcp-klish-config
- ngcp-libswrate
- ngcp-libtcap
- ngcp-license-client
- ngcp-mediator
- ngcp-metapackages
- ngcp-ngcpcfg
- ngcp-panel
- ngcp-prompts
- ngcp-prosody-modules
- ngcp-rate-o-mat
- ngcp-reminder
- ngcp-rtpengine
- ngcp-schema
- ngcp-status
- ngcp-support
- ngcp-system-tests
- ngcp-system-tools
- ngcp-templates
- ngcp-upgrade
- ngcp-vmnotify
- ngrep-sip
remove:
source:
- ngcp-handbook
- ngcp-installer
- ngcp-libswrate
- ngcp-license-client
- ngcp-prompts
- ngcp-templates
- ngcp-upgrade
binary:
- ngcp-handbook-internal
- ngcp-handbook-pdf-internal
matched: []
ce:
copysrc:
- ngcp-sems
remove:
source: []
binary:
- ngcp-ngcpcfg-testsuite
matched:
- '*-carrier'
- '*-pro'
- '*-pro-dbgsym'
pro:
backports:
# cloudpbx firmwares(PRO ONLY), commented are empty
#- ngcp-cloudpbx-firmwares-audiocodes: '1.0.0.0'
- ngcp-cloudpbx-firmwares-ale: '1.0.0.1'
- ngcp-cloudpbx-firmwares-cisco: '1.0.0.0'
- ngcp-cloudpbx-firmwares-grandstream: '1.0.0.1'
- ngcp-cloudpbx-firmwares-innovaphone: '1.0.0.0'
- ngcp-cloudpbx-firmwares-panasonic: '1.0.0.2'
- ngcp-cloudpbx-firmwares-polycom: '1.0.0.1'
#- ngcp-cloudpbx-firmwares-snom: '1.0.0.0'
- ngcp-cloudpbx-firmwares-yealink: '1.0.0.1'
copysrc:
- heartbeat-2
- janus-admin
- janus-client
- megacli
- ngcp-backup-tools
- ngcp-bootenv
- ngcp-bulk-processor-projects
- ngcp-cloudpbx-devices
- ngcp-comx-application
- ngcp-comx-fileshare-service
- ngcp-csta-testsuite
- ngcp-exporter
- ngcp-fauditd
- ngcp-faxserver
- ngcp-inventory
- ngcp-libinewrate
- ngcp-lnpd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-rtcengine
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-snmp
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcp-websocket
- ngcpcfg-api
remove:
binary: []
source:
- ngcp-cloudpbx-devices
- ngcp-csta-testsuite
- ngcp-fauditd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcpcfg-api
matched:
- '*ngcp*-ce'
- '*ngcp*-ce-*'

@ -0,0 +1,277 @@
distris:
- release-mr7.5.3
- buster
debian_release: buster
release-mr7.5.3: &packages
# TT#32916 TT#44119 bcg729 for G.729 codec support for rtpengine
- bcg729: 1.0.4+git20180222-0.1~bpo10+1
# TT#44190 needed by ngcp-panel
- grafana: 5.4.3
# MT#13097 + TT#11775 + TT#44117 needed by libinewrate
- libactivemq-cpp: 3.9.4-0.1~bpo10+1sipwise1
# TT#44184 needed by platform
- mariadb-connector-odbc: 3.1.1-1sipwise1~bpo10+1
# TT#44155 needed by sems*, not available in Buster at the moment
# TT#55301 does not build with latest mariadb libraries.
- mysql++: 3.2.2+pristine-2sipwise1~bpo10+1
# MT#19499 local robustness patches
- net-snmp: 5.7.3+dfsg-5sipwise1~bpo10+1
# TT#2398 influxdb + dependencies
- golang-github-influxdata-influxql: 0.0~git20180925.1cbfca8-0.1sipwise1~bpo10+1
# TT#28100 needed by platform
# + Packaging updates: R³:no.
# + Default to use the unix socket if available.
- influxdb: 1.6.4-1+sipwise1~bpo10+1
# TT#44187 needed by platform
# + Packaging updates: R³:no, Standards-Version=4.2.1, debhelper=11, © years.
# + Version should have been -0.1sipwiseN from the start.
- influxdb-relay: 0.0~20161114.0.adaa2ea-1sipwise2~bpo10+1
# TT#44188 needed by platform
- telegraf: 1.7.4-0.1sipwise1~bpo10+4
# TT#44918 Needed for Debian/buster PRO/Carrier
- ngcp-pxe-boot: 0.6.2.2+0~sipwise20190805
# TT#59330 rebuild of package pulled from non-free
- snmp-mibs-downloader: 1.2~bpo10+1
# TT#62202 Needed for Debian/buster PRO/Carrier
- monit: 5.25.2-3+deb10u1
# TT#66582 The version in Debian/buster does not work for us (yet)
- prosody: 0.9.12-2+deb9u2+bpo10+1
buster: *packages
repository-verify:
white-list: []
jenkins-jobs:
ignore:
- heartbeat-binaries
- heartbeat-tap-test
build_deps:
data-hal:
- ngcp-panel
ngcp-schema:
- ngcp-panel
libinewrate:
- sems-pbx
libswrate:
- kamailio
- sems-pbx
libtcap:
- kamailio
- lnpd
sipwise-base:
- ngcp-panel
- ngcp-schema
check-tools:
- snmp-agent
projects:
- acc-cdi
- asterisk-voicemail
- backup-tools
- bulk-processor
- bulk-processor-projects
- bootenv
- cdr-exporter
- cfg-schema
- check-tools
- cleanup-tools
- cloudpbx-sources
- comx-application
- comx-fileshare-service
- csta-testsuite
- data-hal
- db-schema
- deployment-iso
- dhtest
- documentation
- faxserver
- heartbeat
- installer
- janus-admin
- janus-client
- kamailio
- kamailio-config-tests
- keyring
- klish
- libinewrate
- libswrate
- libtcap
- license-client
- lnpd
- lua-ngcp-kamailio
- mediator
- megacli
- metapackages
- monitoring-tools
- ngcp-api-tools
- ngcp-csc-ui
- ngcp-exporter
- ngcp-fauditd
- ngcp-inventory
- ngcp-logfs
- ngcp-klish-config
- ngcp-panel
- ngcp-prompts
- ngcp-rtcengine
- ngcp-schema
- ngcp-status
- ngcp-sudo-plugin
- ngcp-support
- ngcp-user-framework
- ngcpcfg
- ngcpcfg-api
- ngcpcfg-ha
- ngrep-sip
- prosody
- pushd
- rate-o-mat
- reminder
- rtpengine
- sems
- sems-ha
- sems-modules
- sems-pbx
- sipwise-base
- snmp-agent
- system-tests
- system-tools
- templates
- upgrade
- vmnotify
- voisniff-ng
- websocket
release_mirror:
common:
copysrc:
- kamailio-config-tests
- klish
- libdata-hal-perl
- libsipwise-base-perl
- lua-ngcp-kamailio
- ngcp-acc-cdi
- ngcp-api-tools
- ngcp-asterisk-voicemail
- ngcp-bulk-processor
- ngcp-cdr-exporter
- ngcp-cfg-schema
- ngcp-check-tools
- ngcp-cleanup-tools
- ngcp-csc-ui
- ngcp-db-schema
- ngcp-deployment-iso
- ngcp-dhtest
- ngcp-handbook
- ngcp-installer
- ngcp-kamailio
- ngcp-keyring
- ngcp-klish-config
- ngcp-libswrate
- ngcp-libtcap
- ngcp-license-client
- ngcp-mediator
- ngcp-metapackages
- ngcp-ngcpcfg
- ngcp-panel
- ngcp-prompts
- ngcp-prosody-modules
- ngcp-rate-o-mat
- ngcp-reminder
- ngcp-rtpengine
- ngcp-schema
- ngcp-status
- ngcp-support
- ngcp-system-tests
- ngcp-system-tools
- ngcp-templates
- ngcp-upgrade
- ngcp-vmnotify
- ngrep-sip
remove:
source:
- ngcp-handbook
- ngcp-installer
- ngcp-libswrate
- ngcp-license-client
- ngcp-prompts
- ngcp-templates
- ngcp-upgrade
binary:
- ngcp-handbook-internal
- ngcp-handbook-pdf-internal
matched: []
ce:
copysrc:
- ngcp-sems
remove:
source: []
binary:
- ngcp-ngcpcfg-testsuite
matched:
- '*-carrier'
- '*-pro'
- '*-pro-dbgsym'
pro:
backports:
# cloudpbx firmwares(PRO ONLY), commented are empty
#- ngcp-cloudpbx-firmwares-audiocodes: '1.0.0.0'
- ngcp-cloudpbx-firmwares-ale: '1.0.0.1'
- ngcp-cloudpbx-firmwares-cisco: '1.0.0.0'
- ngcp-cloudpbx-firmwares-grandstream: '1.0.0.1'
- ngcp-cloudpbx-firmwares-innovaphone: '1.0.0.0'
- ngcp-cloudpbx-firmwares-panasonic: '1.0.0.2'
- ngcp-cloudpbx-firmwares-polycom: '1.0.0.1'
#- ngcp-cloudpbx-firmwares-snom: '1.0.0.0'
- ngcp-cloudpbx-firmwares-yealink: '1.0.0.1'
copysrc:
- heartbeat-2
- janus-admin
- janus-client
- megacli
- ngcp-backup-tools
- ngcp-bootenv
- ngcp-bulk-processor-projects
- ngcp-cloudpbx-devices
- ngcp-comx-application
- ngcp-comx-fileshare-service
- ngcp-csta-testsuite
- ngcp-exporter
- ngcp-fauditd
- ngcp-faxserver
- ngcp-inventory
- ngcp-libinewrate
- ngcp-lnpd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-rtcengine
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-snmp
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcp-websocket
- ngcpcfg-api
remove:
binary: []
source:
- ngcp-cloudpbx-devices
- ngcp-csta-testsuite
- ngcp-fauditd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcpcfg-api
matched:
- '*ngcp*-ce'
- '*ngcp*-ce-*'

@ -0,0 +1,277 @@
distris:
- release-mr7.5
- buster
debian_release: buster
release-mr7.5: &packages
# TT#32916 TT#44119 bcg729 for G.729 codec support for rtpengine
- bcg729: 1.0.4+git20180222-0.1~bpo10+1
# TT#44190 needed by ngcp-panel
- grafana: 5.4.3
# MT#13097 + TT#11775 + TT#44117 needed by libinewrate
- libactivemq-cpp: 3.9.4-0.1~bpo10+1sipwise1
# TT#44184 needed by platform
- mariadb-connector-odbc: 3.1.1-1sipwise1~bpo10+1
# TT#44155 needed by sems*, not available in Buster at the moment
# TT#55301 does not build with latest mariadb libraries.
- mysql++: 3.2.2+pristine-2sipwise1~bpo10+1
# MT#19499 local robustness patches
- net-snmp: 5.7.3+dfsg-5sipwise1~bpo10+1
# TT#2398 influxdb + dependencies
- golang-github-influxdata-influxql: 0.0~git20180925.1cbfca8-0.1sipwise1~bpo10+1
# TT#28100 needed by platform
# + Packaging updates: R³:no.
# + Default to use the unix socket if available.
- influxdb: 1.6.4-1+sipwise1~bpo10+1
# TT#44187 needed by platform
# + Packaging updates: R³:no, Standards-Version=4.2.1, debhelper=11, © years.
# + Version should have been -0.1sipwiseN from the start.
- influxdb-relay: 0.0~20161114.0.adaa2ea-1sipwise2~bpo10+1
# TT#44188 needed by platform
- telegraf: 1.7.4-0.1sipwise1~bpo10+4
# TT#44918 Needed for Debian/buster PRO/Carrier
- ngcp-pxe-boot: 0.6.2.2+0~sipwise20190805
# TT#59330 rebuild of package pulled from non-free
- snmp-mibs-downloader: 1.2~bpo10+1
# TT#62202 Needed for Debian/buster PRO/Carrier
- monit: 5.25.2-3+deb10u1
# TT#66582 The version in Debian/buster does not work for us (yet)
- prosody: 0.9.12-2+deb9u2+bpo10+1
buster: *packages
repository-verify:
white-list: []
jenkins-jobs:
ignore:
- heartbeat-binaries
- heartbeat-tap-test
build_deps:
data-hal:
- ngcp-panel
ngcp-schema:
- ngcp-panel
libinewrate:
- sems-pbx
libswrate:
- kamailio
- sems-pbx
libtcap:
- kamailio
- lnpd
sipwise-base:
- ngcp-panel
- ngcp-schema
check-tools:
- snmp-agent
projects:
- acc-cdi
- asterisk-voicemail
- backup-tools
- bulk-processor
- bulk-processor-projects
- bootenv
- cdr-exporter
- cfg-schema
- check-tools
- cleanup-tools
- cloudpbx-sources
- comx-application
- comx-fileshare-service
- csta-testsuite
- data-hal
- db-schema
- deployment-iso
- dhtest
- documentation
- faxserver
- heartbeat
- installer
- janus-admin
- janus-client
- kamailio
- kamailio-config-tests
- keyring
- klish
- libinewrate
- libswrate
- libtcap
- license-client
- lnpd
- lua-ngcp-kamailio
- mediator
- megacli
- metapackages
- monitoring-tools
- ngcp-api-tools
- ngcp-csc-ui
- ngcp-exporter
- ngcp-fauditd
- ngcp-inventory
- ngcp-logfs
- ngcp-klish-config
- ngcp-panel
- ngcp-prompts
- ngcp-rtcengine
- ngcp-schema
- ngcp-status
- ngcp-sudo-plugin
- ngcp-support
- ngcp-user-framework
- ngcpcfg
- ngcpcfg-api
- ngcpcfg-ha
- ngrep-sip
- prosody
- pushd
- rate-o-mat
- reminder
- rtpengine
- sems
- sems-ha
- sems-modules
- sems-pbx
- sipwise-base
- snmp-agent
- system-tests
- system-tools
- templates
- upgrade
- vmnotify
- voisniff-ng
- websocket
release_mirror:
common:
copysrc:
- kamailio-config-tests
- klish
- libdata-hal-perl
- libsipwise-base-perl
- lua-ngcp-kamailio
- ngcp-acc-cdi
- ngcp-api-tools
- ngcp-asterisk-voicemail
- ngcp-bulk-processor
- ngcp-cdr-exporter
- ngcp-cfg-schema
- ngcp-check-tools
- ngcp-cleanup-tools
- ngcp-csc-ui
- ngcp-db-schema
- ngcp-deployment-iso
- ngcp-dhtest
- ngcp-handbook
- ngcp-installer
- ngcp-kamailio
- ngcp-keyring
- ngcp-klish-config
- ngcp-libswrate
- ngcp-libtcap
- ngcp-license-client
- ngcp-mediator
- ngcp-metapackages
- ngcp-ngcpcfg
- ngcp-panel
- ngcp-prompts
- ngcp-prosody-modules
- ngcp-rate-o-mat
- ngcp-reminder
- ngcp-rtpengine
- ngcp-schema
- ngcp-status
- ngcp-support
- ngcp-system-tests
- ngcp-system-tools
- ngcp-templates
- ngcp-upgrade
- ngcp-vmnotify
- ngrep-sip
remove:
source:
- ngcp-handbook
- ngcp-installer
- ngcp-libswrate
- ngcp-license-client
- ngcp-prompts
- ngcp-templates
- ngcp-upgrade
binary:
- ngcp-handbook-internal
- ngcp-handbook-pdf-internal
matched: []
ce:
copysrc:
- ngcp-sems
remove:
source: []
binary:
- ngcp-ngcpcfg-testsuite
matched:
- '*-carrier'
- '*-pro'
- '*-pro-dbgsym'
pro:
backports:
# cloudpbx firmwares(PRO ONLY), commented are empty
#- ngcp-cloudpbx-firmwares-audiocodes: '1.0.0.0'
- ngcp-cloudpbx-firmwares-ale: '1.0.0.1'
- ngcp-cloudpbx-firmwares-cisco: '1.0.0.0'
- ngcp-cloudpbx-firmwares-grandstream: '1.0.0.1'
- ngcp-cloudpbx-firmwares-innovaphone: '1.0.0.0'
- ngcp-cloudpbx-firmwares-panasonic: '1.0.0.2'
- ngcp-cloudpbx-firmwares-polycom: '1.0.0.1'
#- ngcp-cloudpbx-firmwares-snom: '1.0.0.0'
- ngcp-cloudpbx-firmwares-yealink: '1.0.0.1'
copysrc:
- heartbeat-2
- janus-admin
- janus-client
- megacli
- ngcp-backup-tools
- ngcp-bootenv
- ngcp-bulk-processor-projects
- ngcp-cloudpbx-devices
- ngcp-comx-application
- ngcp-comx-fileshare-service
- ngcp-csta-testsuite
- ngcp-exporter
- ngcp-fauditd
- ngcp-faxserver
- ngcp-inventory
- ngcp-libinewrate
- ngcp-lnpd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-rtcengine
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-snmp
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcp-websocket
- ngcpcfg-api
remove:
binary: []
source:
- ngcp-cloudpbx-devices
- ngcp-csta-testsuite
- ngcp-fauditd
- ngcp-logfs
- ngcp-monitoring-tools
- ngcp-ngcpcfg-ha
- ngcp-pushd
- ngcp-sems-modules
- ngcp-sems-pbx
- ngcp-sudo-plugin
- ngcp-user-framework
- ngcp-voisniff
- ngcpcfg-api
matched:
- '*ngcp*-ce'
- '*ngcp*-ce-*'

@ -20,6 +20,7 @@ from django.test import SimpleTestCase
from mock import patch
from build import exceptions as err
from build.utils import get_common_release
from build.utils import get_simple_release
from build.utils import ReleaseConfig
from build.utils import trigger_build
@ -44,6 +45,24 @@ class SimpleReleaseTest(SimpleTestCase):
self.assertIsNone(val)
class CommonReleaseTest(SimpleTestCase):
def test_trunk(self):
val = get_common_release("release-trunk-buster")
self.assertEqual(val, "master")
def test_branch_release(self):
val = get_common_release("release-mr8.0")
self.assertEqual(val, "mr8.0")
def test_release_ok(self):
val = get_common_release("mr8.1.1")
self.assertEqual(val, "mr8.1")
def test_release_ko(self):
val = get_common_release("whatever-mr8.1.1")
self.assertIsNone(val)
@override_settings(DEBUG=True)
class ReleaseConfigTestCase(SimpleTestCase):
build_deps = [
@ -58,10 +77,29 @@ class ReleaseConfigTestCase(SimpleTestCase):
@override_settings(RELEASES_SKIP=["mr0.1"])
def test_supported_releases(self):
supported = ["trunk", "mr8.1", "mr7.5.2"]
supported = [
"trunk",
"mr8.1",
"mr7.5.3",
"mr7.5.2",
"mr7.5.1",
"mr7.5",
]
res = ReleaseConfig.supported_releases()
self.assertListEqual(res, supported)
@patch.object(ReleaseConfig, "supported_releases")
def test_supported_releases_dict(self, sr):
res_ok = [
{"release": "trunk", "base": "master"},
{"release": "mr8.0", "base": "mr8.0"},
{"release": "mr8.0.1", "base": "mr8.0"},
{"release": "mr7.5.1", "base": "mr7.5"},
]
sr.return_value = ["trunk", "mr8.0", "mr8.0.1", "mr7.5.1"]
res = ReleaseConfig.supported_releases_dict()
self.assertListEqual(res, res_ok)
def test_no_release_config(self):
with self.assertRaises(err.NoConfigReleaseFile):
ReleaseConfig("fake_release")

@ -38,7 +38,8 @@ project_url = (
"distribution={distribution}"
)
copy_deps_url = base_url + "&release={release}&internal={internal}"
re_release = re.compile(r"release-(mr[0-9]+\.[0-9]+(\.[0-9]+)?)$")
re_release = re.compile(r"^release-(mr[0-9]+\.[0-9]+(\.[0-9]+)?)$")
re_release_common = re.compile(r"^(release-)?(mr[0-9]+\.[0-9]+)(\.[0-9]+)?$")
def get_simple_release(version):
@ -49,6 +50,14 @@ def get_simple_release(version):
return "trunk"
def get_common_release(version):
match = re_release_common.search(version)
if match:
return match.group(2)
if version.startswith("release-trunk-") or version == "trunk":
return "master"
def trigger_copy_deps(release, internal, release_uuid, uuid=None):
simple = get_simple_release(release)
if uuid is None:
@ -160,6 +169,14 @@ class ReleaseConfig(object):
res.sort(reverse=True)
return res
@classmethod
def supported_releases_dict(cls):
sr = cls.supported_releases()
return [
{"release": version, "base": get_common_release(version)}
for version in sr
]
def __init__(self, name):
filename = get_simple_release(name)
if filename is None:

@ -11,13 +11,30 @@
<h3 class="panel-title">Supported Releases</h3>
</div>
<div class="panel-body">
<ul class="list-group" style="column-count: 4;">
{% for release in releases %}
<li class="list-group-item {% if release in builds %}list-group-item-info{% endif %}">
<a href="{% url 'release_dashboard:build_release' release=release %}">{{ release }}</a>
{% regroup releases|dictsortreversed:"base" by base as releases_list %}
<ul class="nav nav-pills" role="tablist">
{% for base, data_list in releases_list %}
<li role="presentation">
<a href="#{{base|cut:'.'}}" aria-controls="{{base|cut:'.'}}"
role="tab" data-toggle="tab">{{base}}</a>
</li>
{% endfor %}
</ul>
<div class="tab-content">
{% for base, data_list in releases_list %}
<div role="tabpanel" class="tab-pane" id="{{base|cut:'.'}}">
<ul class="list-group" style="column-count: 4;">
{% for data in data_list %}
<li class="list-group-item {% if data.release in builds %}list-group-item-info{% endif %}">
<a href="{% url 'release_dashboard:build_release' release=data.release %}">
{{ data.release }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endfor %}
</div>
</div>
</div>
</div>

@ -50,7 +50,7 @@ logger = logging.getLogger(__name__)
@login_required
def index(request):
context = {
"releases": ReleaseConfig.supported_releases(),
"releases": ReleaseConfig.supported_releases_dict(),
"builds": BuildRelease.objects.releases_with_builds(),
}
return render(

Loading…
Cancel
Save