diff --git a/manifests/templates/opensearch-dashboards/1.x/manifest.yml b/manifests/templates/opensearch-dashboards/1.x/manifest.yml index 53cb99df31..e4feca175b 100644 --- a/manifests/templates/opensearch-dashboards/1.x/manifest.yml +++ b/manifests/templates/opensearch-dashboards/1.x/manifest.yml @@ -2,11 +2,39 @@ schema-version: '1.0' build: name: OpenSearch Dashboards - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-dashboards-build-v4 components: - name: OpenSearch-Dashboards repository: https://github.com/opensearch-project/OpenSearch-Dashboards.git - ref: main + ref: ref_replace + - name: anomalyDetectionDashboards + repository: https://github.com/opensearch-project/anomaly-detection-dashboards-plugin + ref: ref_replace + - name: functionalTestDashboards + repository: https://github.com/opensearch-project/opensearch-dashboards-functional-test.git + ref: ref_replace + - name: ganttChartDashboards + repository: https://github.com/opensearch-project/dashboards-visualizations.git + working_directory: gantt-chart + ref: ref_replace + - name: observabilityDashboards + repository: https://github.com/opensearch-project/dashboards-observability.git + ref: ref_replace + - name: alertingDashboards + repository: https://github.com/opensearch-project/alerting-dashboards-plugin.git + ref: ref_replace + - name: indexManagementDashboards + repository: https://github.com/opensearch-project/index-management-dashboards-plugin.git + ref: ref_replace + - name: reportsDashboards + repository: https://github.com/opensearch-project/dashboards-reporting.git + ref: ref_replace + - name: securityDashboards + repository: https://github.com/opensearch-project/security-dashboards-plugin.git + ref: ref_replace + - name: queryWorkbenchDashboards + repository: https://github.com/opensearch-project/dashboards-query-workbench.git + ref: ref_replace diff --git a/manifests/templates/opensearch-dashboards/2.x/manifest.yml b/manifests/templates/opensearch-dashboards/2.x/manifest.yml index 4ddc7f95c6..6ec6f143fc 100644 --- a/manifests/templates/opensearch-dashboards/2.x/manifest.yml +++ b/manifests/templates/opensearch-dashboards/2.x/manifest.yml @@ -2,13 +2,54 @@ schema-version: '1.0' build: name: OpenSearch Dashboards - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-build-v1 components: - name: OpenSearch-Dashboards repository: https://github.com/opensearch-project/OpenSearch-Dashboards.git - ref: main - checks: - - npm:package:version + ref: ref_replace + - name: functionalTestDashboards + repository: https://github.com/opensearch-project/opensearch-dashboards-functional-test.git + ref: ref_replace + - name: observabilityDashboards + repository: https://github.com/opensearch-project/dashboards-observability.git + ref: ref_replace + - name: reportsDashboards + repository: https://github.com/opensearch-project/dashboards-reporting.git + ref: ref_replace + - name: ganttChartDashboards + repository: https://github.com/opensearch-project/dashboards-visualizations.git + working_directory: gantt-chart + ref: ref_replace + - name: queryWorkbenchDashboards + repository: https://github.com/opensearch-project/dashboards-query-workbench.git + ref: ref_replace + - name: customImportMapDashboards + repository: https://github.com/opensearch-project/dashboards-maps.git + ref: ref_replace + - name: anomalyDetectionDashboards + repository: https://github.com/opensearch-project/anomaly-detection-dashboards-plugin.git + ref: ref_replace + - name: mlCommonsDashboards + repository: https://github.com/opensearch-project/ml-commons-dashboards.git + ref: ref_replace + - name: indexManagementDashboards + repository: https://github.com/opensearch-project/index-management-dashboards-plugin.git + ref: ref_replace + - name: notificationsDashboards + repository: https://github.com/opensearch-project/dashboards-notifications.git + ref: ref_replace + - name: alertingDashboards + repository: https://github.com/opensearch-project/alerting-dashboards-plugin.git + ref: ref_replace + - name: securityAnalyticsDashboards + repository: https://github.com/opensearch-project/security-analytics-dashboards-plugin.git + ref: ref_replace + - name: securityDashboards + repository: https://github.com/opensearch-project/security-dashboards-plugin.git + ref: ref_replace + - name: searchRelevanceDashboards + repository: https://github.com/opensearch-project/dashboards-search-relevance.git + ref: ref_replace diff --git a/manifests/templates/opensearch-dashboards/3.x/manifest.yml b/manifests/templates/opensearch-dashboards/3.x/manifest.yml index b6a45d6577..3ed29d82e5 100644 --- a/manifests/templates/opensearch-dashboards/3.x/manifest.yml +++ b/manifests/templates/opensearch-dashboards/3.x/manifest.yml @@ -2,11 +2,54 @@ schema-version: '1.0' build: name: OpenSearch Dashboards - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-build-v1 components: - name: OpenSearch-Dashboards repository: https://github.com/opensearch-project/OpenSearch-Dashboards.git - ref: main + ref: ref_replace + - name: functionalTestDashboards + repository: https://github.com/opensearch-project/opensearch-dashboards-functional-test.git + ref: ref_replace + - name: reportsDashboards + repository: https://github.com/opensearch-project/dashboards-reporting.git + ref: ref_replace + - name: securityDashboards + repository: https://github.com/opensearch-project/security-dashboards-plugin.git + ref: ref_replace + - name: queryWorkbenchDashboards + repository: https://github.com/opensearch-project/dashboards-query-workbench.git + ref: ref_replace + - name: searchRelevanceDashboards + repository: https://github.com/opensearch-project/dashboards-search-relevance.git + ref: ref_replace + - name: observabilityDashboards + repository: https://github.com/opensearch-project/dashboards-observability.git + ref: ref_replace + - name: ganttChartDashboards + repository: https://github.com/opensearch-project/dashboards-visualizations.git + working_directory: gantt-chart + ref: ref_replace + - name: notificationsDashboards + repository: https://github.com/opensearch-project/dashboards-notifications.git + ref: ref_replace + - name: customImportMapDashboards + repository: https://github.com/opensearch-project/dashboards-maps.git + ref: ref_replace + - name: anomalyDetectionDashboards + repository: https://github.com/opensearch-project/anomaly-detection-dashboards-plugin.git + ref: ref_replace + - name: mlCommonsDashboards + repository: https://github.com/opensearch-project/ml-commons-dashboards.git + ref: ref_replace + - name: indexManagementDashboards + repository: https://github.com/opensearch-project/index-management-dashboards-plugin.git + ref: ref_replace + - name: alertingDashboards + repository: https://github.com/opensearch-project/alerting-dashboards-plugin.git + ref: ref_replace + - name: securityAnalyticsDashboards + repository: https://github.com/opensearch-project/security-analytics-dashboards-plugin.git + ref: ref_replace diff --git a/manifests/templates/opensearch-dashboards/default/manifest.yml b/manifests/templates/opensearch-dashboards/default/manifest.yml index 4ddc7f95c6..3ed29d82e5 100644 --- a/manifests/templates/opensearch-dashboards/default/manifest.yml +++ b/manifests/templates/opensearch-dashboards/default/manifest.yml @@ -2,13 +2,54 @@ schema-version: '1.0' build: name: OpenSearch Dashboards - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-build-v1 components: - name: OpenSearch-Dashboards repository: https://github.com/opensearch-project/OpenSearch-Dashboards.git - ref: main - checks: - - npm:package:version + ref: ref_replace + - name: functionalTestDashboards + repository: https://github.com/opensearch-project/opensearch-dashboards-functional-test.git + ref: ref_replace + - name: reportsDashboards + repository: https://github.com/opensearch-project/dashboards-reporting.git + ref: ref_replace + - name: securityDashboards + repository: https://github.com/opensearch-project/security-dashboards-plugin.git + ref: ref_replace + - name: queryWorkbenchDashboards + repository: https://github.com/opensearch-project/dashboards-query-workbench.git + ref: ref_replace + - name: searchRelevanceDashboards + repository: https://github.com/opensearch-project/dashboards-search-relevance.git + ref: ref_replace + - name: observabilityDashboards + repository: https://github.com/opensearch-project/dashboards-observability.git + ref: ref_replace + - name: ganttChartDashboards + repository: https://github.com/opensearch-project/dashboards-visualizations.git + working_directory: gantt-chart + ref: ref_replace + - name: notificationsDashboards + repository: https://github.com/opensearch-project/dashboards-notifications.git + ref: ref_replace + - name: customImportMapDashboards + repository: https://github.com/opensearch-project/dashboards-maps.git + ref: ref_replace + - name: anomalyDetectionDashboards + repository: https://github.com/opensearch-project/anomaly-detection-dashboards-plugin.git + ref: ref_replace + - name: mlCommonsDashboards + repository: https://github.com/opensearch-project/ml-commons-dashboards.git + ref: ref_replace + - name: indexManagementDashboards + repository: https://github.com/opensearch-project/index-management-dashboards-plugin.git + ref: ref_replace + - name: alertingDashboards + repository: https://github.com/opensearch-project/alerting-dashboards-plugin.git + ref: ref_replace + - name: securityAnalyticsDashboards + repository: https://github.com/opensearch-project/security-analytics-dashboards-plugin.git + ref: ref_replace diff --git a/manifests/templates/opensearch/1.x/manifest.yml b/manifests/templates/opensearch/1.x/manifest.yml index 4e7f401925..babfdaee50 100644 --- a/manifests/templates/opensearch/1.x/manifest.yml +++ b/manifests/templates/opensearch/1.x/manifest.yml @@ -2,7 +2,7 @@ schema-version: '1.0' build: name: OpenSearch - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 @@ -10,7 +10,132 @@ ci: components: - name: OpenSearch repository: https://github.com/opensearch-project/OpenSearch.git - ref: main + ref: ref_replace checks: - gradle:publish - gradle:properties:version + - name: common-utils + repository: https://github.com/opensearch-project/common-utils.git + ref: ref_replace + checks: + - gradle:publish + - gradle:properties:version + platforms: + - linux + - windows + - name: job-scheduler + repository: https://github.com/opensearch-project/job-scheduler.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: alerting + repository: https://github.com/opensearch-project/alerting.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: alerting + platforms: + - linux + - windows + - name: security + repository: https://github.com/opensearch-project/security.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: opensearch-reports + repository: https://github.com/opensearch-project/reporting.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: cross-cluster-replication + repository: https://github.com/opensearch-project/cross-cluster-replication.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: ml-commons + repository: https://github.com/opensearch-project/ml-commons.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-ml-plugin + platforms: + - linux + - windows + - name: sql + repository: https://github.com/opensearch-project/sql.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: plugin + platforms: + - linux + - windows + - name: k-NN + repository: https://github.com/opensearch-project/k-NN.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: opensearch-observability + repository: https://github.com/opensearch-project/observability.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: index-management + repository: https://github.com/opensearch-project/index-management.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: performance-analyzer + repository: https://github.com/opensearch-project/performance-analyzer.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - name: anomaly-detection + repository: https://github.com/opensearch-project/anomaly-detection.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows + - name: asynchronous-search + repository: https://github.com/opensearch-project/asynchronous-search.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + platforms: + - linux + - windows diff --git a/manifests/templates/opensearch/2.x/manifest.yml b/manifests/templates/opensearch/2.x/manifest.yml index f78093313f..444a34263f 100644 --- a/manifests/templates/opensearch/2.x/manifest.yml +++ b/manifests/templates/opensearch/2.x/manifest.yml @@ -1,16 +1,192 @@ --- -schema-version: '1.1' +schema-version: '1.0' build: name: OpenSearch - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 - args: -e JAVA_HOME=/opt/java/openjdk-17 + args: -e JAVA_HOME=/opt/java/openjdk-21 components: - name: OpenSearch repository: https://github.com/opensearch-project/OpenSearch.git - ref: main + ref: ref_replace checks: - gradle:publish - gradle:properties:version + - name: common-utils + repository: https://github.com/opensearch-project/common-utils.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:publish + - gradle:properties:version + - name: job-scheduler + repository: https://github.com/opensearch-project/job-scheduler.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: security + repository: https://github.com/opensearch-project/security.git + ref: ref_replace + platforms: + - linux + - windows + - name: k-NN + repository: https://github.com/opensearch-project/k-NN.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: geospatial + repository: https://github.com/opensearch-project/geospatial.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: cross-cluster-replication + repository: https://github.com/opensearch-project/cross-cluster-replication.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: ml-commons + repository: https://github.com/opensearch-project/ml-commons.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-ml-plugin + - name: neural-search + repository: https://github.com/opensearch-project/neural-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: notifications-core + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-notifications-core + - name: notifications + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: notifications + - name: opensearch-observability + repository: https://github.com/opensearch-project/observability.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: opensearch-reports + repository: https://github.com/opensearch-project/reporting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: sql + repository: https://github.com/opensearch-project/sql.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-sql-plugin + - name: asynchronous-search + repository: https://github.com/opensearch-project/asynchronous-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: anomaly-detection + repository: https://github.com/opensearch-project/anomaly-detection.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: alerting + repository: https://github.com/opensearch-project/alerting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: alerting + - name: security-analytics + repository: https://github.com/opensearch-project/security-analytics.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - name: index-management + repository: https://github.com/opensearch-project/index-management.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - name: performance-analyzer + repository: https://github.com/opensearch-project/performance-analyzer.git + ref: ref_replace + platforms: + - linux + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: custom-codecs + repository: https://github.com/opensearch-project/custom-codecs.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version diff --git a/manifests/templates/opensearch/3.x/manifest.yml b/manifests/templates/opensearch/3.x/manifest.yml index 2db16e6b43..deba7c8317 100644 --- a/manifests/templates/opensearch/3.x/manifest.yml +++ b/manifests/templates/opensearch/3.x/manifest.yml @@ -2,15 +2,182 @@ schema-version: '1.0' build: name: OpenSearch - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 - args: -e JAVA_HOME=/opt/java/openjdk-17 + args: -e JAVA_HOME=/opt/java/openjdk-21 components: - name: OpenSearch repository: https://github.com/opensearch-project/OpenSearch.git - ref: main + ref: ref_replace checks: - gradle:publish - gradle:properties:version + - name: common-utils + repository: https://github.com/opensearch-project/common-utils.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:publish + - gradle:properties:version + - name: ml-commons + repository: https://github.com/opensearch-project/ml-commons.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-ml-plugin + - name: job-scheduler + repository: https://github.com/opensearch-project/job-scheduler.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: opensearch-reports + repository: https://github.com/opensearch-project/reporting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: security + repository: https://github.com/opensearch-project/security.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: performance-analyzer + repository: https://github.com/opensearch-project/performance-analyzer.git + ref: ref_replace + platforms: + - linux + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: opensearch-observability + repository: https://github.com/opensearch-project/observability.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: k-NN + repository: https://github.com/opensearch-project/k-NN.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: neural-search + repository: https://github.com/opensearch-project/neural-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: geospatial + repository: https://github.com/opensearch-project/geospatial.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: anomaly-detection + repository: https://github.com/opensearch-project/anomaly-detection.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: cross-cluster-replication + repository: https://github.com/opensearch-project/cross-cluster-replication.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: notifications-core + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-notifications-core + - name: notifications + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: notifications + - name: alerting + repository: https://github.com/opensearch-project/alerting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: alerting + - name: sql + repository: https://github.com/opensearch-project/sql.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-sql-plugin + - name: asynchronous-search + repository: https://github.com/opensearch-project/asynchronous-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: security-analytics + repository: https://github.com/opensearch-project/security-analytics.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - name: index-management + repository: https://github.com/opensearch-project/index-management.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version diff --git a/manifests/templates/opensearch/default/manifest.yml b/manifests/templates/opensearch/default/manifest.yml index 2db16e6b43..deba7c8317 100644 --- a/manifests/templates/opensearch/default/manifest.yml +++ b/manifests/templates/opensearch/default/manifest.yml @@ -2,15 +2,182 @@ schema-version: '1.0' build: name: OpenSearch - version: 'replace' + version: version_replace ci: image: name: opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 - args: -e JAVA_HOME=/opt/java/openjdk-17 + args: -e JAVA_HOME=/opt/java/openjdk-21 components: - name: OpenSearch repository: https://github.com/opensearch-project/OpenSearch.git - ref: main + ref: ref_replace checks: - gradle:publish - gradle:properties:version + - name: common-utils + repository: https://github.com/opensearch-project/common-utils.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:publish + - gradle:properties:version + - name: ml-commons + repository: https://github.com/opensearch-project/ml-commons.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-ml-plugin + - name: job-scheduler + repository: https://github.com/opensearch-project/job-scheduler.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: opensearch-reports + repository: https://github.com/opensearch-project/reporting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: security + repository: https://github.com/opensearch-project/security.git + ref: ref_replace + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: performance-analyzer + repository: https://github.com/opensearch-project/performance-analyzer.git + ref: ref_replace + platforms: + - linux + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: opensearch-observability + repository: https://github.com/opensearch-project/observability.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: k-NN + repository: https://github.com/opensearch-project/k-NN.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: neural-search + repository: https://github.com/opensearch-project/neural-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: geospatial + repository: https://github.com/opensearch-project/geospatial.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: anomaly-detection + repository: https://github.com/opensearch-project/anomaly-detection.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: cross-cluster-replication + repository: https://github.com/opensearch-project/cross-cluster-replication.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: notifications-core + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-notifications-core + - name: notifications + repository: https://github.com/opensearch-project/notifications.git + ref: ref_replace + platforms: + - linux + - windows + working_directory: notifications + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: notifications + - name: alerting + repository: https://github.com/opensearch-project/alerting.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: alerting + - name: sql + repository: https://github.com/opensearch-project/sql.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version: opensearch-sql-plugin + - name: asynchronous-search + repository: https://github.com/opensearch-project/asynchronous-search.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - gradle:dependencies:opensearch.version + - name: security-analytics + repository: https://github.com/opensearch-project/security-analytics.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version + - name: index-management + repository: https://github.com/opensearch-project/index-management.git + ref: ref_replace + platforms: + - linux + - windows + checks: + - gradle:properties:version diff --git a/src/manifests_workflow/input_manifests.py b/src/manifests_workflow/input_manifests.py index faff2df92d..3f96967316 100644 --- a/src/manifests_workflow/input_manifests.py +++ b/src/manifests_workflow/input_manifests.py @@ -14,8 +14,7 @@ import ruamel.yaml -from manifests.component_manifest import ComponentFromSource -from manifests.input_manifest import InputComponents, InputManifest +from manifests.input_manifest import InputManifest from manifests.manifests import Manifests from manifests_workflow.component_opensearch import ComponentOpenSearch from manifests_workflow.component_opensearch_dashboards_min import ComponentOpenSearchDashboardsMin @@ -95,47 +94,15 @@ def update( logging.info(f"Checking {self.name} {branches} branches") for branch in branches: - c = min_klass.checkout( - path=os.path.join(work_dir.name, self.name.replace(" ", ""), branch), + min_component = min_klass.checkout( + path=os.path.join(work_dir.name, self.prefix, branch), branch=branch, ) - version = c.version + version = min_component.version logging.info(f"{self.name}#{branch} is version {version}") if version not in main_versions.keys(): - main_versions[version] = [c] - - if component_klass is not None: - # components can increment their own version first without incrementing min - manifest = self.latest - logging.info(f"Examining components in the latest manifest of {manifest.build.name} ({manifest.build.version})") - for component in manifest.components.values(): - if component.name == self.name: - continue - - if type(component) is ComponentFromSource: - logging.info(f"Checking out {component.name}#main") - component = component_klass.checkout( - name=component.name, - path=os.path.join(work_dir.name, component.name), - opensearch_version=manifest.build.version, - repo_url=component.repository, - branch="main", - ) - - component_version = component.version - if component_version: - release_version = ".".join(component_version.split(".")[:3]) - if release_version not in main_versions.keys(): - main_versions[release_version] = [] - main_versions[release_version].append(component) - logging.info(f"{component.name}#main is version {release_version} (from {component_version})") - - # summarize - logging.info("Found versions on main:") - for main_version in main_versions.keys(): - for component in main_versions[main_version]: - logging.info(f" {component.name}={main_version}") + main_versions[version] = branch # generate new manifests for release_version in sorted(main_versions.keys() - known_versions): @@ -143,28 +110,28 @@ def update( self.add_to_cron(release_version) self.add_to_versionincrement_workflow(release_version) - def create_manifest(self, version: str, components: List = []) -> InputManifest: + def create_manifest(self, version: str, branch: str) -> InputManifest: templates_base_path = os.path.join(self.manifests_path(), "templates") template_version_folder = version.split(".")[0] + ".x" template_full_path = os.path.join(templates_base_path, self.prefix, template_version_folder, "manifest.yml") if not os.path.exists(template_full_path): + logging.info(f"Not found: {template_full_path}") template_full_path = os.path.join(templates_base_path, self.prefix, "default", "manifest.yml") + logging.info(f"Using this template: {template_full_path}") + manifest = InputManifest.from_file(open(template_full_path)) manifest.build.version = version - manifests_components = [] - for component in components: - logging.info(f" Adding {component.name}") - manifests_components.append(component.to_dict()) + for component in manifest.components.select(): + component.ref = branch # type: ignore - manifest.components = InputComponents(manifests_components) # type: ignore return manifest - def write_manifest(self, version: str, components: List = []) -> None: - logging.info(f"Creating new version: {version}") - manifest = self.create_manifest(version, components) + def write_manifest(self, version: str, branch: str) -> None: + logging.info(f"Generating {self.prefix} manifest for version {version} on branch {branch}") + manifest = self.create_manifest(version, branch) manifest_dir = os.path.join(self.manifests_path(), version) os.makedirs(manifest_dir, exist_ok=True) manifest_path = os.path.join(manifest_dir, f"{self.prefix}-{version}.yml") diff --git a/tests/tests_manifests_workflow/test_input_manifests.py b/tests/tests_manifests_workflow/test_input_manifests.py index 6d55ebc2c6..be65aeacb4 100644 --- a/tests/tests_manifests_workflow/test_input_manifests.py +++ b/tests/tests_manifests_workflow/test_input_manifests.py @@ -9,10 +9,13 @@ import unittest from unittest.mock import MagicMock, call, mock_open, patch +import yaml + from manifests_workflow.input_manifests import InputManifests class TestInputManifests(unittest.TestCase): + def test_manifests_path(self) -> None: path = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", "manifests")) self.assertEqual(path, InputManifests.manifests_path()) @@ -41,60 +44,54 @@ def test_files_opensearch_dashboards(self) -> None: def test_create_manifest_opensearch(self) -> None: input_manifests = InputManifests("OpenSearch") - input_manifest = input_manifests.create_manifest("1.2.3", []) - self.assertEqual( - input_manifest.to_dict(), - { - "schema-version": "1.0", - "build": {"name": "OpenSearch", "version": "1.2.3"}, - "ci": {"image": {"name": "opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3", - "args": "-e JAVA_HOME=/opt/java/openjdk-11"}}, - }, - ) + input_manifest = input_manifests.create_manifest("1.2.3", "1.3") + template = os.path.join(InputManifests.manifests_path(), "templates", "opensearch", "1.x", "manifest.yml") + with open(template) as f: + template_dict = yaml.load(f, Loader=yaml.FullLoader) + template_dict["build"]["version"] = "1.2.3" + for component in template_dict["components"]: + component["ref"] = "1.3" + self.assertEqual(input_manifest.to_dict(), template_dict) def test_create_manifest_opensearch_from_default(self) -> None: input_manifests = InputManifests("OpenSearch") - input_manifest = input_manifests.create_manifest("0.2.3", []) - self.assertEqual( - input_manifest.to_dict(), - { - "schema-version": "1.0", - "build": {"name": "OpenSearch", "version": "0.2.3"}, - "ci": {"image": {"name": "opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3", - "args": "-e JAVA_HOME=/opt/java/openjdk-17"}}, - }, - ) + input_manifest = input_manifests.create_manifest("4.0.0", "main") + template = os.path.join(InputManifests.manifests_path(), "templates", "opensearch", "default", "manifest.yml") + with open(template) as f: + template_dict = yaml.load(f, Loader=yaml.FullLoader) + template_dict["build"]["version"] = "4.0.0" + for component in template_dict["components"]: + component["ref"] = "main" + self.assertEqual(input_manifest.to_dict(), template_dict) def test_create_manifest_opensearch_dashboards(self) -> None: input_manifests = InputManifests("OpenSearch Dashboards") - input_manifest = input_manifests.create_manifest("1.2.3", []) - self.assertEqual( - input_manifest.to_dict(), - { - "schema-version": "1.0", - "build": {"name": "OpenSearch Dashboards", "version": "1.2.3"}, - "ci": {"image": {"name": "opensearchstaging/ci-runner:ci-runner-centos7-opensearch-dashboards-build-v4", }}, - }, - ) + input_manifest = input_manifests.create_manifest("2.12.0", "2.x") + template = os.path.join(InputManifests.manifests_path(), "templates", "opensearch-dashboards", "2.x", "manifest.yml") + with open(template) as f: + template_dict = yaml.load(f, Loader=yaml.FullLoader) + template_dict["build"]["version"] = "2.12.0" + for component in template_dict["components"]: + component["ref"] = "2.x" + self.assertEqual(input_manifest.to_dict(), template_dict) def test_create_manifest_opensearch_dashboards_from_default(self) -> None: input_manifests = InputManifests("OpenSearch Dashboards") - input_manifest = input_manifests.create_manifest("4.2.3", []) - self.assertEqual( - input_manifest.to_dict(), - { - "schema-version": "1.0", - "build": {"name": "OpenSearch Dashboards", "version": "4.2.3"}, - "ci": {"image": {"name": "opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-build-v1", }}, - }, - ) + input_manifest = input_manifests.create_manifest("4.0.0", "main") + template = os.path.join(InputManifests.manifests_path(), "templates", "opensearch-dashboards", "default", "manifest.yml") + with open(template) as f: + template_dict = yaml.load(f, Loader=yaml.FullLoader) + template_dict["build"]["version"] = "4.0.0" + for component in template_dict["components"]: + component["ref"] = "main" + self.assertEqual(input_manifest.to_dict(), template_dict) @patch("os.makedirs") @patch("manifests_workflow.input_manifests.InputManifests.create_manifest") def test_write_manifest(self, mock_create_manifest: MagicMock, mock_makedirs: MagicMock) -> None: input_manifests = InputManifests("opensearch") - input_manifests.write_manifest('0.1.2', []) - mock_create_manifest.assert_called_with('0.1.2', []) + input_manifests.write_manifest('0.1.2', "main") + mock_create_manifest.assert_called_with('0.1.2', "main") mock_makedirs.assert_called_with(os.path.join(InputManifests.manifests_path(), '0.1.2'), exist_ok=True) mock_create_manifest.return_value.to_file.assert_called_with( os.path.join(InputManifests.manifests_path(), '0.1.2', 'opensearch-0.1.2.yml') diff --git a/tests/tests_manifests_workflow/test_input_manifests_opensearch.py b/tests/tests_manifests_workflow/test_input_manifests_opensearch.py index 66a1713d26..43d44bc3bb 100644 --- a/tests/tests_manifests_workflow/test_input_manifests_opensearch.py +++ b/tests/tests_manifests_workflow/test_input_manifests_opensearch.py @@ -9,7 +9,6 @@ import unittest from unittest.mock import MagicMock, call, patch -from manifests.component_manifest import Component, ComponentFromSource from manifests_workflow.input_manifests_opensearch import InputManifestsOpenSearch @@ -31,10 +30,9 @@ def test_files(self) -> None: @patch("os.makedirs") @patch("os.chdir") - @patch("manifests_workflow.input_manifests.InputComponents") @patch("manifests_workflow.input_manifests.InputManifest.from_file") - @patch("manifests_workflow.input_manifests.InputManifests.add_to_cron") @patch("manifests_workflow.input_manifests.InputManifests.add_to_versionincrement_workflow") + @patch("manifests_workflow.input_manifests.InputManifests.add_to_cron") @patch("manifests_workflow.input_manifests.InputManifest.from_path") @patch("manifests_workflow.input_manifests_opensearch.ComponentOpenSearchMin") @patch("manifests_workflow.input_manifests_opensearch.ComponentOpenSearch") @@ -42,27 +40,14 @@ def test_files(self) -> None: def test_update(self, mock_input_manifest: MagicMock, mock_component_opensearch: MagicMock, mock_component_opensearch_min: MagicMock, mock_input_manifest_from_path: MagicMock, mock_add_to_cron: MagicMock, mock_add_to_versionincrement_workflow: MagicMock, mock_input_manifest_from_file: MagicMock, - mock_input_manifest_component: MagicMock, *mocks: MagicMock) -> None: + *mocks: MagicMock) -> None: mock_component_opensearch_min.return_value = MagicMock(name="OpenSearch") mock_component_opensearch_min.branches.return_value = ["main", "0.9.0"] mock_component_opensearch_min.checkout.return_value = MagicMock(version="0.9.0") - mock_component_opensearch.return_value = MagicMock(name="common-utils") - mock_component_opensearch.checkout.return_value = MagicMock(version="0.10.0") - mock_input_manifest_from_path.return_value.components = { - "common-utils": ComponentFromSource({"name": "common-utils", "repository": "git", "ref": "ref"}), - "job-scheduler": Component({"name": "job-scheduler", "dist": "zip"}) - } manifests = InputManifestsOpenSearch() manifests.update() - self.assertEqual(mock_input_manifest_from_file().to_file.call_count, 2) + self.assertEqual(mock_input_manifest_from_file().to_file.call_count, 1) calls = [ - call( - os.path.join( - InputManifestsOpenSearch.manifests_path(), - "0.10.0", - "opensearch-0.10.0.yml", - ) - ), call( os.path.join( InputManifestsOpenSearch.manifests_path(), @@ -73,32 +58,8 @@ def test_update(self, mock_input_manifest: MagicMock, mock_component_opensearch: ] mock_input_manifest_from_file().to_file.assert_has_calls(calls) mock_add_to_cron.assert_has_calls([ - call('0.10.0'), call('0.9.0') ]) mock_add_to_versionincrement_workflow.assert_has_calls([ - call('0.10.0'), call('0.9.0') ]) - - @patch("os.makedirs") - @patch("os.chdir") - @patch("manifests_workflow.input_manifests.InputManifests.add_to_cron") - @patch("manifests_workflow.input_manifests.InputManifests.add_to_versionincrement_workflow") - @patch("manifests_workflow.input_manifests_opensearch.ComponentOpenSearchMin") - @patch("manifests_workflow.input_manifests_opensearch.ComponentOpenSearch") - @patch("manifests_workflow.input_manifests_opensearch.InputManifestsOpenSearch.write_manifest") - def test_update_with_latest_manifest(self, mock_write_manifest: MagicMock, mock_component_opensearch: MagicMock, - mock_component_opensearch_min: MagicMock, mock_add_to_cron: MagicMock, mock_add_to_versionincrement_workflow: MagicMock, - *mocks: MagicMock) -> None: - mock_component_opensearch_min.return_value = MagicMock(name="OpenSearch") - mock_component_opensearch_min.branches.return_value = ["main"] - mock_component_opensearch_min.checkout.return_value = MagicMock(version="0.9.0") - mock_component_opensearch.return_value = MagicMock(name="common-utils") - mock_component_opensearch.checkout.return_value = MagicMock(version="0.10.0") - manifests = InputManifestsOpenSearch() - manifests.update() - mock_component_opensearch_min.branches.assert_called() - mock_write_manifest.assert_called_with("0.9.0", [mock_component_opensearch_min.checkout.return_value]) - mock_add_to_cron.assert_called_with("0.9.0") - mock_add_to_versionincrement_workflow.assert_called_with("0.9.0") diff --git a/tests/tests_manifests_workflow/test_input_manifests_opensearch_dashboards.py b/tests/tests_manifests_workflow/test_input_manifests_opensearch_dashboards.py index 9741ea4048..685e24d017 100644 --- a/tests/tests_manifests_workflow/test_input_manifests_opensearch_dashboards.py +++ b/tests/tests_manifests_workflow/test_input_manifests_opensearch_dashboards.py @@ -30,17 +30,15 @@ def test_files(self) -> None: @patch("os.makedirs") @patch("os.chdir") - @patch("manifests_workflow.input_manifests.InputComponents") @patch("manifests_workflow.input_manifests.InputManifest.from_file") - @patch("manifests_workflow.input_manifests.InputManifests.add_to_cron") @patch("manifests_workflow.input_manifests.InputManifests.add_to_versionincrement_workflow") + @patch("manifests_workflow.input_manifests.InputManifests.add_to_cron") @patch("manifests_workflow.input_manifests.InputManifest.from_path") @patch("manifests_workflow.input_manifests_opensearch_dashboards.ComponentOpenSearchDashboardsMin") @patch("manifests_workflow.input_manifests.InputManifest") def test_update(self, mock_input_manifest: MagicMock, mock_component_opensearch_min: MagicMock, mock_input_manifest_from_path: MagicMock, mock_add_to_cron: MagicMock, mock_add_to_versionincrement_workflow: MagicMock, - mock_input_manifest_from_file: MagicMock, mock_input_manifest_component: MagicMock, - *mocks: MagicMock) -> None: + mock_input_manifest_from_file: MagicMock, *mocks: MagicMock) -> None: mock_component_opensearch_min.return_value = MagicMock(name="OpenSearch-Dashboards") mock_component_opensearch_min.branches.return_value = ["main", "0.9.0"] mock_component_opensearch_min.checkout.return_value = MagicMock(version="0.9.0")