Skip to content

Fix returns 500 error for AI agent APIs when OpenSearch returns 4xx error with json format error message #1455

Fix returns 500 error for AI agent APIs when OpenSearch returns 4xx error with json format error message

Fix returns 500 error for AI agent APIs when OpenSearch returns 4xx error with json format error message #1455

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Build and test
# trigger on every commit push and PR for all branches except pushes for backport branches
on:
pull_request:
branches: ["**"]
push:
branches: ["**"]
env:
OPENSEARCH_DASHBOARDS_VERSION: '2.x'
NODE_OPTIONS: "--max-old-space-size=6144 --dns-result-order=ipv4first"
jobs:
Get-CI-Image-Tag:
uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main
with:
product: opensearch-dashboards
tests-linux:
needs: Get-CI-Image-Tag
name: Run unit tests
runs-on: ubuntu-latest
container:
# using the same image which is used by opensearch-build team to build the OpenSearch Distribution
# this image tag is subject to change as more dependencies and updates will arrive over time
image: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-version-linux }}
# need to switch to root so that github actions can install runner binary on container without permission issues.
options: --user root
steps:
# Enable longer filenames for windows
- name: Checkout OpenSearch-Dashboards
uses: actions/checkout@v2
with:
repository: opensearch-project/OpenSearch-Dashboards
ref: ${{ env.OPENSEARCH_DASHBOARDS_VERSION }}
path: OpenSearch-Dashboards
- name: Checkout dashboards-assistant plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-assistant
- name: Bootstrap / Run tests
run: |
chown -R 1000:1000 `pwd`
cd ./OpenSearch-Dashboards/
su `id -un 1000` -c "source $NVM_DIR/nvm.sh && nvm use && node -v && yarn -v &&
cd ./plugins/dashboards-assistant &&
whoami && yarn osd bootstrap && yarn run test:jest --coverage"
- name: Uploads coverage
uses: codecov/codecov-action@v1
tests-windows-macos:
name: Run unit tests
strategy:
matrix:
os: [macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
# Enable longer filenames for windows
- name: Enable longer filenames
if: ${{ matrix.os == 'windows-latest' }}
run: git config --system core.longpaths true
- name: Checkout OpenSearch-Dashboards
uses: actions/checkout@v2
with:
repository: opensearch-project/OpenSearch-Dashboards
ref: ${{ env.OPENSEARCH_DASHBOARDS_VERSION }}
path: OpenSearch-Dashboards
- name: Setup Node
uses: actions/setup-node@v3
with:
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('./OpenSearch-Dashboards/package.json').engines.yarn")
echo "Installing yarn@$YARN_VERSION"
npm i -g yarn@$YARN_VERSION
- run: node -v
- run: yarn -v
- name: Checkout dashboards-assistant plugin
uses: actions/checkout@v2
with:
path: OpenSearch-Dashboards/plugins/dashboards-assistant
- name: Bootstrap plugin/dashboards-assistant
run: |
cd OpenSearch-Dashboards/plugins/dashboards-assistant
yarn osd bootstrap
- name: Run tests
run: |
cd OpenSearch-Dashboards/plugins/dashboards-assistant
yarn run test:jest --coverage