Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for windows and macos #117

Merged
merged 9 commits into from
Oct 12, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 124 additions & 2 deletions .github/workflows/test-and-build-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ env:

jobs:

build:
linux-build:

runs-on: ubuntu-latest

Expand Down Expand Up @@ -72,5 +72,127 @@ jobs:
- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: gantt-chart
name: gantt-chart-ubuntu
path: ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart/build

windows-build:

runs-on: windows-latest
steps:
- name: Checkout Plugin
uses: actions/checkout@v2
# Enable longer filenames for windows
- name: Enable longer filenames
run: git config --system core.longpaths true

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

- name: Get node and yarn versions
id: versions_step
run: |
echo "::set-output name=node_version::$(node -p "(require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.node).match(/[.0-9]+/)[0]")"
echo "::set-output name=yarn_version::$(node -p "(require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.yarn).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: Install correct yarn version for OpenSearch Dashboards
run: |
npm uninstall -g yarn
echo "Installing yarn ${{ steps.versions_step.outputs.yarn_version }}"
npm i -g yarn@${{ steps.versions_step.outputs.yarn_version }}

- name: Move Gantt Chart to Plugins Dir
run: |
mv gantt-chart ./dashboards-visualizations/OpenSearch-Dashboards/plugins

- name: Plugin Bootstrap
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn osd bootstrap

- name: Test
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn test

- name: Build Artifact
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn build
mv ./build/*.zip ./build/${{ env.PLUGIN_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}.zip

- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: gantt-chart-windows
path: ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart/build

macos-build:

runs-on: macos-latest

steps:
- name: Checkout Plugin
uses: actions/checkout@v2

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

- name: Get node and yarn versions
id: versions_step
run: |
echo "::set-output name=node_version::$(node -p "(require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.node).match(/[.0-9]+/)[0]")"
echo "::set-output name=yarn_version::$(node -p "(require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.yarn).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: Install correct yarn version for OpenSearch Dashboards
run: |
npm uninstall -g yarn
echo "Installing yarn ${{ steps.versions_step.outputs.yarn_version }}"
npm i -g yarn@${{ steps.versions_step.outputs.yarn_version }}

- name: Move Gantt Chart to Plugins Dir
run: |
mv gantt-chart ./dashboards-visualizations/OpenSearch-Dashboards/plugins

- name: Plugin Bootstrap
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn osd bootstrap

- name: Test
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn test

- name: Build Artifact
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
yarn build
mv ./build/*.zip ./build/${{ env.PLUGIN_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}.zip

- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: gantt-chart-macos
path: ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart/build