From 89609ce6d6c0a0d3363d857af7c7e2bd9292dec9 Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Thu, 20 Oct 2022 11:49:28 -0400 Subject: [PATCH 1/7] feat: enable windows and macos builds (#1108) * fix: initial code to add windows support for opensearch-observability Signed-off-by: Derek Ho * add build for windows in dashboards-observability Signed-off-by: Derek Ho * change windows command and add windows build for UI modules Signed-off-by: Derek Ho * try gradlew bat for windows Signed-off-by: Derek Ho * try to exclude tests Signed-off-by: Derek Ho * fix jacoco Signed-off-by: Derek Ho * do for mac and change name Signed-off-by: Derek Ho * try to run the tests for windows and mac Signed-off-by: Derek Ho * try to add gitattributes file Signed-off-by: Derek Ho * add formatting rule Signed-off-by: Derek Ho * try to enable both Signed-off-by: Derek Ho * try to add git config to fix Signed-off-by: Derek Ho * autocrlf false for windwos and remove comments Signed-off-by: Derek Ho * comment out bwc tests, Signed-off-by: Derek Ho * add line Signed-off-by: Derek Ho * fix up using matrix and fix test Signed-off-by: Derek Ho Signed-off-by: Derek Ho (cherry picked from commit 363ccd4946fcbb9280078e694846e9aa8a8753b0) Signed-off-by: Derek Ho --- ...-observability-test-and-build-workflow.yml | 13 +++++----- ...-observability-test-and-build-workflow.yml | 25 ++++++++++++------- .../public/components/explorer/no_results.tsx | 3 +-- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index cbaff4d10..fa546a53e 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -11,8 +11,10 @@ env: jobs: build: - - runs-on: ubuntu-latest + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} steps: - name: Checkout Plugin @@ -57,13 +59,13 @@ jobs: yarn test --coverage - name: Upload coverage + if: ${{ matrix.os == 'ubuntu-latest' }} uses: codecov/codecov-action@v1 with: flags: dashboards-observability directory: ./OpenSearch-Dashboards/plugins/dashboards-observability token: ${{ secrets.CODECOV_TOKEN }} - # TODO remove hard coded version when observability is ready - name: Build Artifact run: | cd OpenSearch-Dashboards/plugins/dashboards-observability @@ -73,6 +75,5 @@ jobs: - name: Upload Artifact uses: actions/upload-artifact@v1 with: - name: dashboards-observability - path: ./OpenSearch-Dashboards/plugins/dashboards-observability/build - + name: dashboards-observability-${{ matrix.os }} + path: ./OpenSearch-Dashboards/plugins/dashboards-observability/build \ No newline at end of file diff --git a/.github/workflows/opensearch-observability-test-and-build-workflow.yml b/.github/workflows/opensearch-observability-test-and-build-workflow.yml index 3b3c62f67..50cdd825e 100644 --- a/.github/workflows/opensearch-observability-test-and-build-workflow.yml +++ b/.github/workflows/opensearch-observability-test-and-build-workflow.yml @@ -9,14 +9,18 @@ env: jobs: build: + env: + BUILD_ARGS: ${{ matrix.os_build_args }} strategy: matrix: - java: - - 8 - - 11 - - 14 - - runs-on: ubuntu-latest + java: [8, 11, 17] + os: [ubuntu-latest, windows-latest, macos-latest] + include: + - os: windows-latest + os_build_args: -x integTest -x jacocoTestReport + - os: macos-latest + os_build_args: -x integTest -x jacocoTestReport + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v1 @@ -27,6 +31,8 @@ jobs: java-version: ${{ matrix.java }} - name: Run Backwards Compatibility Tests + # Temporarily only do this for linux + if: ${{ matrix.os == 'ubuntu-latest' }} run: | cd opensearch-observability echo "Running backwards compatibility tests ..." @@ -35,9 +41,10 @@ jobs: - name: Build with Gradle run: | cd opensearch-observability - ./gradlew build -Dopensearch.version=${{ env.OPENSEARCH_VERSION }} + ./gradlew build -Dopensearch.version=${{ env.OPENSEARCH_VERSION }} ${{ env.BUILD_ARGS }} - name: Upload coverage + if: ${{ matrix.os == 'ubuntu-latest' }} uses: codecov/codecov-action@v1 with: flags: opensearch-observability @@ -52,5 +59,5 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v1 with: - name: opensearch-observability - path: opensearch-observability-builds + name: opensearch-observability-${{ matrix.os }} + path: opensearch-observability-builds \ No newline at end of file diff --git a/dashboards-observability/public/components/explorer/no_results.tsx b/dashboards-observability/public/components/explorer/no_results.tsx index 802099729..91cc8ab62 100644 --- a/dashboards-observability/public/components/explorer/no_results.tsx +++ b/dashboards-observability/public/components/explorer/no_results.tsx @@ -38,8 +38,7 @@ export const NoResults = () => {

From 5351f3e96a58bd890c27628a880f771afcf87faf Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 10:05:53 -0500 Subject: [PATCH 2/7] remove java 17 Signed-off-by: Derek Ho --- .../opensearch-observability-test-and-build-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opensearch-observability-test-and-build-workflow.yml b/.github/workflows/opensearch-observability-test-and-build-workflow.yml index 50cdd825e..6e558a314 100644 --- a/.github/workflows/opensearch-observability-test-and-build-workflow.yml +++ b/.github/workflows/opensearch-observability-test-and-build-workflow.yml @@ -13,7 +13,7 @@ jobs: BUILD_ARGS: ${{ matrix.os_build_args }} strategy: matrix: - java: [8, 11, 17] + java: [8, 11] os: [ubuntu-latest, windows-latest, macos-latest] include: - os: windows-latest From c18fc95c8de16ef9829eb543c6e46cb13100cd99 Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 10:10:09 -0500 Subject: [PATCH 3/7] remove -d for windows Signed-off-by: Derek Ho --- .../opensearch-observability-test-and-build-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opensearch-observability-test-and-build-workflow.yml b/.github/workflows/opensearch-observability-test-and-build-workflow.yml index 6e558a314..157c3a822 100644 --- a/.github/workflows/opensearch-observability-test-and-build-workflow.yml +++ b/.github/workflows/opensearch-observability-test-and-build-workflow.yml @@ -41,7 +41,7 @@ jobs: - name: Build with Gradle run: | cd opensearch-observability - ./gradlew build -Dopensearch.version=${{ env.OPENSEARCH_VERSION }} ${{ env.BUILD_ARGS }} + ./gradlew build ${{ env.BUILD_ARGS }} - name: Upload coverage if: ${{ matrix.os == 'ubuntu-latest' }} From 43bbe8f877ee7268cf7d3645cc6b80e919b4b689 Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 10:23:58 -0500 Subject: [PATCH 4/7] Update .github/workflows/dashboards-observability-test-and-build-workflow.yml Signed-off-by: Derek Ho --- .../dashboards-observability-test-and-build-workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index fa546a53e..1ad69af50 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -12,6 +12,7 @@ jobs: build: strategy: + fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} From d74d0bf20b5fed4869a55831d31a86fd0788937c Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 10:36:08 -0500 Subject: [PATCH 5/7] fix fail fast Signed-off-by: Derek Ho --- .../dashboards-observability-test-and-build-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index 1ad69af50..f7a8aa056 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -12,7 +12,7 @@ jobs: build: strategy: - fail-fast: false + fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} From cce52bce628b4d426add49815ba0d17b04f5f598 Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 10:53:43 -0500 Subject: [PATCH 6/7] try to do fix step for mac Signed-off-by: Derek Ho --- .../dashboards-observability-test-and-build-workflow.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index f7a8aa056..64e5f08cd 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -49,6 +49,12 @@ jobs: - name: Move Observability to Plugins Dir run: mv dashboards-observability OpenSearch-Dashboards/plugins/dashboards-observability + - name: Fix node for mac + if: ${{ matrix.os == 'macos-latest' }} + run: | + sudo rm -rf /Library/Developer/CommandLineTools + xcode-select --install + - name: Plugin Bootstrap run: | cd OpenSearch-Dashboards/plugins/dashboards-observability From 439702c2d31a42bac85b2711d108c15e0f1d6916 Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 6 Dec 2022 11:48:07 -0500 Subject: [PATCH 7/7] remove mac Signed-off-by: Derek Ho --- .../dashboards-observability-test-and-build-workflow.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index 64e5f08cd..dddaa2c26 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -49,12 +49,6 @@ jobs: - name: Move Observability to Plugins Dir run: mv dashboards-observability OpenSearch-Dashboards/plugins/dashboards-observability - - name: Fix node for mac - if: ${{ matrix.os == 'macos-latest' }} - run: | - sudo rm -rf /Library/Developer/CommandLineTools - xcode-select --install - - name: Plugin Bootstrap run: | cd OpenSearch-Dashboards/plugins/dashboards-observability