Skip to content

Commit

Permalink
update workflow and readme
Browse files Browse the repository at this point in the history
Signed-off-by: Joshua Li <[email protected]>
  • Loading branch information
joshuali925 committed Jan 25, 2024
1 parent d2a2b59 commit 5671ea3
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 57 deletions.
10 changes: 4 additions & 6 deletions .github/workflows/cypress-e2e-gantt-chart-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ jobs:
with:
java-version: ${{ matrix.jdk }}

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

- name: Download OpenSearch
uses: peternied/download-file@v2
with:
Expand Down Expand Up @@ -67,9 +64,10 @@ jobs:
cypress
test
- name: Install Gantt Chart to Opensearch Dashboards Plugins Dir
run: |
mv gantt-chart ./OpenSearch-Dashboards/plugins
- name: Checkout Plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-visualizations

- id: tool-versions
run: |
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/ftr-e2e-gantt-chart-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,10 @@ jobs:
cypress
test
- name: Install Gantt Chart to Opensearch Dashboards Plugins Dir
run: |
mv gantt-chart ./OpenSearch-Dashboards/plugins
- name: Checkout Plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-visualizations

- id: tool-versions
run: |
Expand Down
77 changes: 36 additions & 41 deletions .github/workflows/test-and-build-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,53 +25,49 @@ jobs:
options: --user root

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
path: OpenSearch-Dashboards

- name: Move Gantt Chart to Plugins Dir
run: |
mv gantt-chart ./dashboards-visualizations/OpenSearch-Dashboards/plugins
- name: Checkout Plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-visualizations

- name: Plugin Bootstrap / stylelint / test
run: |
chown -R 1000:1000 `pwd`
cd dashboards-visualizations/OpenSearch-Dashboards/
cd OpenSearch-Dashboards/
su `id -un 1000` -c "source $NVM_DIR/nvm.sh && nvm use && node -v && yarn -v &&
cd ./plugins/gantt-chart &&
cd ./plugins/dashboards-visualizations &&
whoami && yarn osd bootstrap && yarn lint:style && yarn test --coverage"
- name: Upload coverage
uses: codecov/codecov-action@v1
with:
directory: ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
directory: ./OpenSearch-Dashboards/plugins/dashboards-visualizations
token: ${{ secrets.CODECOV_TOKEN }}

- name: Build Artifact
run: |
chown -R 1000:1000 `pwd`
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
su `id -un 1000` -c "source $NVM_DIR/nvm.sh && nvm use && node -v && yarn -v && 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-ubuntu
path: ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart/build
path: ./OpenSearch-Dashboards/plugins/dashboards-visualizations/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
Expand All @@ -81,117 +77,116 @@ jobs:
with:
repository: opensearch-project/Opensearch-Dashboards
ref: ${{ env.OPENSEARCH_VERSION }}
path: dashboards-visualizations/OpenSearch-Dashboards
path: OpenSearch-Dashboards

- name: Checkout Plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-visualizations

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: './dashboards-visualizations/OpenSearch-Dashboards/.nvmrc'
node-version-file: './OpenSearch-Dashboards/.nvmrc'
registry-url: 'https://registry.npmjs.org'

- name: Install Yarn
# Need to use bash to avoid having a windows/linux specific step
shell: bash
run: |
YARN_VERSION=$(node -p "require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.yarn")
YARN_VERSION=$(node -p "require('./OpenSearch-Dashboards/package.json').engines.yarn")
echo "Installing yarn@$YARN_VERSION"
npm i -g yarn@$YARN_VERSION
- run: node -v
- run: yarn -v

- 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
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn osd bootstrap
- name: Run Stylelint
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn lint:style
- name: Test
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn test
- name: Build Artifact
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
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
path: ./OpenSearch-Dashboards/plugins/dashboards-visualizations/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
path: OpenSearch-Dashboards

- name: Checkout Plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-visualizations

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version-file: './dashboards-visualizations/OpenSearch-Dashboards/.nvmrc'
node-version-file: './OpenSearch-Dashboards/.nvmrc'
registry-url: 'https://registry.npmjs.org'

- name: Install Yarn
# Need to use bash to avoid having a windows/linux specific step
shell: bash
run: |
YARN_VERSION=$(node -p "require('./dashboards-visualizations/OpenSearch-Dashboards/package.json').engines.yarn")
YARN_VERSION=$(node -p "require('./OpenSearch-Dashboards/package.json').engines.yarn")
echo "Installing yarn@$YARN_VERSION"
npm i -g yarn@$YARN_VERSION
- run: node -v
- run: yarn -v

- 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
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn osd bootstrap
- name: Run Stylelint
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn lint:style
- name: Test
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
yarn test
- name: Build Artifact
run: |
cd ./dashboards-visualizations/OpenSearch-Dashboards/plugins/gantt-chart
cd ./OpenSearch-Dashboards/plugins/dashboards-visualizations
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
path: ./OpenSearch-Dashboards/plugins/dashboards-visualizations/build


10 changes: 3 additions & 7 deletions DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,8 @@ So you want to contribute code to this project? Excellent! We're glad you're her
1. cd into the OpenSearch Dashboards source code directory.
1. Check out this package from version control into the `plugins` directory.
```
rm plugins -r
git clone [email protected]:opensearch-project/dashboards-visualizations.git plugins --no-checkout
cd plugins
echo 'gantt-chart/*' >> .git/info/sparse-checkout
git config core.sparseCheckout true
git checkout main
git clone [email protected]:opensearch-project/dashboards-visualizations.git
```
6. Run `yarn osd bootstrap` inside `OpenSearch-Dashboards` directory.

Expand All @@ -26,7 +22,7 @@ Ultimately, your directory structure should look like this:
.
├── OpenSearch Dashboards
│ └── plugins
│ └── gantt-chart
│ └── dashboards-visualizations
```


Expand Down Expand Up @@ -57,4 +53,4 @@ The Github workflow in [`backport.yml`](.github/workflows/backport.yml) creates
with an appropriate label `backport <backport-branch-name>` is merged to main with the backport workflow run successfully on the
PR. For example, if a PR on main needs to be backported to `1.x` branch, add a label `backport 1.x` to the PR and make sure the
backport workflow runs on the PR along with other checks. Once this PR is merged to main, the workflow will create a backport PR
to the `1.x` branch.
to the `1.x` branch.

0 comments on commit 5671ea3

Please sign in to comment.