Skip to content

Commit

Permalink
[backport 1.3] Enable windows build (#561)
Browse files Browse the repository at this point in the history
* feat: enable windows and macos build (#504)

Signed-off-by: Derek Ho <[email protected]>

* Remove macos

Signed-off-by: Rupal Mahajan <[email protected]>

* Remove macos from dashboards report

Signed-off-by: Rupal Mahajan <[email protected]>

* Fix build

Signed-off-by: Rupal Mahajan <[email protected]>

* Update setup node for linux

Signed-off-by: Rupal Mahajan <[email protected]>

Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Rupal Mahajan <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
  • Loading branch information
rupal-bq and derek-ho authored Dec 2, 2022
1 parent d3f36b5 commit 6efd7b1
Show file tree
Hide file tree
Showing 5 changed files with 153 additions and 38 deletions.
122 changes: 97 additions & 25 deletions .github/workflows/dashboards-reports-test-and-build-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ env:
OPENSEARCH_VERSION: '1.3'
OPENSEARCH_PLUGIN_VERSION: 1.3.7.0


jobs:
build:
linux-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Plugin
Expand All @@ -20,21 +21,26 @@ jobs:
with:
repository: opensearch-project/Opensearch-Dashboards
ref: ${{ env.OPENSEARCH_VERSION }}
path: OpenSearch-Dashboards

- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: "10.24.1"
path: dashboards-reports/OpenSearch-Dashboards

- name: Get node version
id: versions_step
run:
echo "::set-output name=node_version::$(node -p "(require('./OpenSearch-Dashboards/package.json').engines.node).match(/[.0-9]+/)[0]")"
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: ${{ steps.versions_step.outputs.node_version }}
registry-url: 'https://registry.npmjs.org'

- name: Move Dashboards Reports to Plugins Dir
run: mv dashboards-reports ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
run: mv dashboards-reports OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}

- name: Add Chromium Binary to Reporting for Testing
run: |
sudo apt update
sudo apt install -y libnss3-dev fonts-liberation libfontconfig1
cd ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
wget https://github.com/opendistro-for-elasticsearch/kibana-reports/releases/download/chromium-1.12.0.0/chromium-linux-x64.zip
unzip chromium-linux-x64.zip
rm chromium-linux-x64.zip
Expand All @@ -44,32 +50,31 @@ jobs:
with:
timeout_minutes: 30
max_attempts: 3
command: cd ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}; yarn osd bootstrap
command: cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}; yarn osd bootstrap

- name: Test
uses: nick-invision/retry@v1
with:
timeout_minutes: 30
max_attempts: 3
command: cd ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}; yarn test --coverage
command: cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}; yarn test --coverage

- name: Upload coverage
uses: codecov/codecov-action@v1
with:
flags: dashboards-reports
directory: ../OpenSearch-Dashboards/plugins/
directory: OpenSearch-Dashboards/plugins/
token: ${{ secrets.CODECOV_TOKEN }}

- name: Build Artifact
run: |
cd ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
yarn build
cd build
mkdir -p ./{linux-x64,linux-arm64,windows-x64}/opensearch-dashboards/${{ env.PLUGIN_NAME }}
mkdir -p ./{linux-x64,linux-arm64}/opensearch-dashboards/${{ env.PLUGIN_NAME }}
cp ./${{ env.PLUGIN_NAME }}-*.zip ./linux-x64/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-x64.zip
cp ./${{ env.PLUGIN_NAME }}-*.zip ./linux-arm64/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-arm64.zip
mv ./${{ env.PLUGIN_NAME }}-*.zip ./windows-x64/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-windows-x64.zip
cd linux-x64
wget https://github.com/opensearch-project/dashboards-reports/releases/download/chromium-1.12.0.0/chromium-linux-x64.zip
Expand All @@ -85,27 +90,94 @@ jobs:
mv ./${{ env.ARTIFACT_NAME }}-*.zip ..
cd ..
cd windows-x64
wget https://github.com/opensearch-project/dashboards-reports/releases/download/chromium-1.12.0.0/chromium-windows-x64.zip
unzip chromium-windows-x64.zip -d ./opensearch-dashboards/${{ env.PLUGIN_NAME }}
zip -ur ./${{ env.ARTIFACT_NAME }}-*.zip ./opensearch-dashboards
mv ./${{ env.ARTIFACT_NAME }}-*.zip ..
cd ..
- name: Upload Artifact For Linux x64
uses: actions/upload-artifact@v1
with:
name: dashboards-reports-linux-x64
path: ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-x64.zip
path: OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-x64.zip

- name: Upload Artifact For Linux arm64
uses: actions/upload-artifact@v1
with:
name: dashboards-reports-linux-arm64
path: ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-arm64.zip
path: OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-linux-arm64.zip

windows-build:
runs-on: windows-latest
steps:
- name: Checkout Plugin
uses: actions/checkout@v1

# Enable longer filenames for windows
- name: Enable longer filenames
run: git config --system core.longpaths true

- name: Checkout OpenSearch Dashboards
uses: actions/checkout@v1
with:
repository: opensearch-project/Opensearch-Dashboards
ref: ${{ env.OPENSEARCH_VERSION }}
path: dashboards-reports/OpenSearch-Dashboards

- name: Get node version
id: versions_step
run:
echo "::set-output name=node_version::$(node -p "(require('./OpenSearch-Dashboards/package.json').engines.node).match(/[.0-9]+/)[0]")"

- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: ${{ steps.versions_step.outputs.node_version }}
registry-url: 'https://registry.npmjs.org'


- name: Move Dashboards Reports to Plugins Dir
run: mv dashboards-reports OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}

- name: Add Chromium Binary to Reporting for Testing
run: |
cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
curl.exe -LO https://github.com/opensearch-project/dashboards-reports/releases/download/chromium-1.12.0.0/chromium-windows-x64.zip
Expand-Archive -Path 'chromium-windows-x64.zip'
Move-Item -Path "./chromium-windows-x64/.chromium" -Destination "./.chromium"
rd chromium-windows-x64.zip
rd chromium-windows-x64
- name: OpenSearch Dashboards Plugin Bootstrap
uses: nick-invision/retry@v1
with:
timeout_minutes: 30
max_attempts: 3
command: cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }} && yarn osd bootstrap

- name: Test
uses: nick-invision/retry@v1
with:
timeout_minutes: 30
max_attempts: 3
command: cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }} && yarn test

- name: Build Artifact
run: |
cd OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
yarn build
cd build
mkdir -p ./windows-x64/opensearch-dashboards/${{ env.PLUGIN_NAME }}
mv ./${{ env.PLUGIN_NAME }}-*.zip ./windows-x64/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-windows-x64.zip
cd windows-x64
curl.exe -LO https://github.com/opensearch-project/dashboards-reports/releases/download/chromium-1.12.0.0/chromium-windows-x64.zip
Expand-Archive -Path 'chromium-windows-x64.zip'
Move-Item -Path "./chromium-windows-x64/.chromium" -Destination "./opensearch-dashboards/${{ env.PLUGIN_NAME }}"
rd chromium-windows-x64.zip
rd chromium-windows-x64
Compress-Archive -Path "./${{ env.ARTIFACT_NAME }}-*.zip" -Destination "./opensearch-dashboards"
mv ./${{ env.ARTIFACT_NAME }}-*.zip ..
cd ..
- name: Upload Artifact For Windows
uses: actions/upload-artifact@v1
with:
name: dashboards-reports-windows-x64
path: ../OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-windows-x64.zip
path: OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}/build/${{ env.ARTIFACT_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}-windows-x64.zip
45 changes: 43 additions & 2 deletions .github/workflows/reports-scheduler-test-and-build-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ env:
OPENSEARCH_VERSION: '1.3.5-SNAPSHOT'

jobs:
build:
linux-build:
strategy:
matrix:
java:
Expand Down Expand Up @@ -51,6 +51,47 @@ jobs:
- name: Upload Artifacts
uses: actions/upload-artifact@v1
with:
name: reports-scheduler
name: reports-scheduler-linux
path: reports-scheduler-builds

windows-build:
strategy:
matrix:
java:
- 8
- 11
- 14
runs-on: windows-latest

steps:
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}

# reports-scheduler
- name: Checkout Reports Scheduler
uses: actions/checkout@v2

# Disable bwc tests since first release
# - name: RunBackwards Compatibility Tests
# run: |
# cd reports-scheduler
# echo "Running backwards compatibility tests ..."
# ./gradlew.bat bwcTestSuite

- name: Build with Gradle
run: |
cd reports-scheduler
./gradlew.bat build -x integTest -x jacocoTestReport
- name: Create Artifact Path
run: |
mkdir -p reports-scheduler-builds
cp -r ./reports-scheduler/build/distributions/*.zip reports-scheduler-builds/
- name: Upload Artifacts
uses: actions/upload-artifact@v1
with:
name: reports-scheduler-windows
path: reports-scheduler-builds
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ exports[`<ReportDetails /> panel render 5 hours recurring component 1`] = `
<dd
class="euiDescriptionList__description"
>
Invalid Date -&gt; 10/23/2020, 1:53:35 PM
Invalid Date -&gt; 10/23/2020, 8:53:35 PM
</dd>
</dl>
</div>
Expand Down Expand Up @@ -562,7 +562,7 @@ exports[`<ReportDetails /> panel render on-demand component 1`] = `
<dd
class="euiDescriptionList__description"
>
Invalid Date -&gt; 10/23/2020, 1:53:35 PM
Invalid Date -&gt; 10/23/2020, 8:53:35 PM
</dd>
</dl>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ exports[`<ReportSettings /> panel dashboard create from in-context 1`] = `
data-test-subj="superDatePickerstartDatePopoverButton"
title="2020-10-26T20:52:56.382Z"
>
Oct 26, 2020 @ 13:52:56.382
Oct 26, 2020 @ 20:52:56.382
</button>
</div>
</div>
Expand All @@ -426,7 +426,7 @@ exports[`<ReportSettings /> panel dashboard create from in-context 1`] = `
data-test-subj="superDatePickerendDatePopoverButton"
title="2020-10-27T20:52:56.384Z"
>
Oct 27, 2020 @ 13:52:56.384
Oct 27, 2020 @ 20:52:56.384
</button>
</div>
</div>
Expand Down Expand Up @@ -1585,7 +1585,7 @@ exports[`<ReportSettings /> panel display errors on create 1`] = `
data-test-subj="superDatePickerstartDatePopoverButton"
title="2020-10-26T20:52:56.382Z"
>
Oct 26, 2020 @ 13:52:56.382
Oct 26, 2020 @ 20:52:56.382
</button>
</div>
</div>
Expand All @@ -1609,7 +1609,7 @@ exports[`<ReportSettings /> panel display errors on create 1`] = `
data-test-subj="superDatePickerendDatePopoverButton"
title="2020-10-27T20:52:56.384Z"
>
Oct 27, 2020 @ 13:52:56.384
Oct 27, 2020 @ 20:52:56.384
</button>
</div>
</div>
Expand Down Expand Up @@ -6506,7 +6506,7 @@ exports[`<ReportSettings /> panel saved search create from in-context 1`] = `
data-test-subj="superDatePickerstartDatePopoverButton"
title="2020-10-26T20:52:56.382Z"
>
Oct 26, 2020 @ 13:52:56.382
Oct 26, 2020 @ 20:52:56.382
</button>
</div>
</div>
Expand All @@ -6530,7 +6530,7 @@ exports[`<ReportSettings /> panel saved search create from in-context 1`] = `
data-test-subj="superDatePickerendDatePopoverButton"
title="2020-10-27T20:52:56.384Z"
>
Oct 27, 2020 @ 13:52:56.384
Oct 27, 2020 @ 20:52:56.384
</button>
</div>
</div>
Expand Down Expand Up @@ -7689,7 +7689,7 @@ exports[`<ReportSettings /> panel visualization create from in-context 1`] = `
data-test-subj="superDatePickerstartDatePopoverButton"
title="2020-10-26T20:52:56.382Z"
>
Oct 26, 2020 @ 13:52:56.382
Oct 26, 2020 @ 20:52:56.382
</button>
</div>
</div>
Expand All @@ -7713,7 +7713,7 @@ exports[`<ReportSettings /> panel visualization create from in-context 1`] = `
data-test-subj="superDatePickerendDatePopoverButton"
title="2020-10-27T20:52:56.384Z"
>
Oct 27, 2020 @ 13:52:56.384
Oct 27, 2020 @ 20:52:56.384
</button>
</div>
</div>
Expand Down
4 changes: 3 additions & 1 deletion dashboards-reports/test/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
* SPDX-License-Identifier: Apache-2.0
*/

process.env.TZ = 'America/Los_Angeles';
//@ts-check

process.env.TZ = 'UTC';

module.exports = {
rootDir: '../',
Expand Down

0 comments on commit 6efd7b1

Please sign in to comment.