From e06a08afae224b4885890c76087ecc7d2a8b0f22 Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Fri, 6 Mar 2020 11:16:14 +0100 Subject: [PATCH] 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 --- build/fixtures/config/mr7.5.1.yml | 279 ++++++++++++++++++ build/fixtures/config/mr7.5.3.yml | 277 +++++++++++++++++ build/fixtures/config/mr7.5.yml | 277 +++++++++++++++++ build/test/test_utils.py | 40 ++- build/utils.py | 19 +- .../build_supported_releases.html | 25 +- release_dashboard/views/build.py | 2 +- 7 files changed, 912 insertions(+), 7 deletions(-) create mode 100644 build/fixtures/config/mr7.5.1.yml create mode 100644 build/fixtures/config/mr7.5.3.yml create mode 100644 build/fixtures/config/mr7.5.yml diff --git a/build/fixtures/config/mr7.5.1.yml b/build/fixtures/config/mr7.5.1.yml new file mode 100644 index 0000000..2aebee3 --- /dev/null +++ b/build/fixtures/config/mr7.5.1.yml @@ -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-*' diff --git a/build/fixtures/config/mr7.5.3.yml b/build/fixtures/config/mr7.5.3.yml new file mode 100644 index 0000000..2979c9f --- /dev/null +++ b/build/fixtures/config/mr7.5.3.yml @@ -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-*' diff --git a/build/fixtures/config/mr7.5.yml b/build/fixtures/config/mr7.5.yml new file mode 100644 index 0000000..9b2d128 --- /dev/null +++ b/build/fixtures/config/mr7.5.yml @@ -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-*' diff --git a/build/test/test_utils.py b/build/test/test_utils.py index eeb2b27..9eab904 100644 --- a/build/test/test_utils.py +++ b/build/test/test_utils.py @@ -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") diff --git a/build/utils.py b/build/utils.py index 02c0b96..8894022 100644 --- a/build/utils.py +++ b/build/utils.py @@ -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: diff --git a/release_dashboard/templates/release_dashboard/build_supported_releases.html b/release_dashboard/templates/release_dashboard/build_supported_releases.html index 871236b..8c61146 100644 --- a/release_dashboard/templates/release_dashboard/build_supported_releases.html +++ b/release_dashboard/templates/release_dashboard/build_supported_releases.html @@ -11,13 +11,30 @@

Supported Releases

-
diff --git a/release_dashboard/views/build.py b/release_dashboard/views/build.py index 0412bad..a176e95 100644 --- a/release_dashboard/views/build.py +++ b/release_dashboard/views/build.py @@ -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(