From 03b5892e6fc234ccdb4732a8db6d2bd5c7a994b1 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Wed, 1 Nov 2023 19:01:14 -0400 Subject: [PATCH] Onboard prod jenkins docker images to github actions Signed-off-by: Peter Zhu --- ...-observability-test-and-build-workflow.yml | 80 ++++++++++++++++--- .github/workflows/dco.yml | 18 ----- 2 files changed, 70 insertions(+), 28 deletions(-) delete mode 100644 .github/workflows/dco.yml diff --git a/.github/workflows/dashboards-observability-test-and-build-workflow.yml b/.github/workflows/dashboards-observability-test-and-build-workflow.yml index eadd458944..9c85a0aa16 100644 --- a/.github/workflows/dashboards-observability-test-and-build-workflow.yml +++ b/.github/workflows/dashboards-observability-test-and-build-workflow.yml @@ -9,11 +9,79 @@ env: OPENSEARCH_PLUGIN_VERSION: 3.0.0.0 jobs: + Get-CI-Image-Tag: + uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main + with: + product: opensearch-dashboards - build: + build-linux: + needs: Get-CI-Image-Tag + strategy: + fail-fast: false + 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: + - name: Checkout OpenSearch Dashboards + uses: actions/checkout@v2 + with: + repository: opensearch-project/OpenSearch-Dashboards + ref: ${{ env.OPENSEARCH_VERSION }} + path: OpenSearch-Dashboards + + - name: Checkout Dashboards Observability + uses: actions/checkout@v2 + with: + path: OpenSearch-Dashboards/plugins/dashboards-observability + + - name: Plugin Bootstrap + uses: nick-fields/retry@v2 + with: + timeout_minutes: 20 + max_attempts: 2 + command: | + chown -R 1000:1000 `pwd` + cd ./OpenSearch-Dashboards/ + su `id -un 1000` -c "source $NVM_DIR/nvm.sh && nvm use && node -v && yarn -v && + yarn config set network-timeout 1000000 -g && + yarn osd bootstrap" + + - name: Test all dashboards-observability modules + 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 dashboards-observability && + yarn osd bootstrap && yarn test --coverage --maxWorkers=100%" + + - name: Upload coverage + uses: codecov/codecov-action@v1 + with: + flags: dashboards-observability + directory: ./OpenSearch-Dashboards/plugins/dashboards-observability + token: ${{ secrets.CODECOV_TOKEN }} + + - name: Build Artifact + run: | + cd OpenSearch-Dashboards/plugins/dashboards-observability + yarn build + mv ./build/*.zip ./build/${{ env.PLUGIN_NAME }}-${{ env.OPENSEARCH_PLUGIN_VERSION }}.zip + + - name: Upload Artifact + uses: actions/upload-artifact@v1 + with: + name: dashboards-observability-ubuntu-latest + path: ./OpenSearch-Dashboards/plugins/dashboards-observability/build + + build-windows-macos: strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [windows-latest, macos-latest] # Since Windows is inconsistent, we want to let other OSes run on a fail fail-fast: false runs-on: ${{ matrix.os }} @@ -68,14 +136,6 @@ jobs: cd OpenSearch-Dashboards/plugins/dashboards-observability yarn test --coverage --maxWorkers=100% - - 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 }} - - name: Build Artifact run: | cd OpenSearch-Dashboards/plugins/dashboards-observability diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml deleted file mode 100644 index cf30ea89dc..0000000000 --- a/.github/workflows/dco.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Developer Certificate of Origin Check - -on: [pull_request] - -jobs: - check: - runs-on: ubuntu-latest - - steps: - - name: Get PR Commits - id: 'get-pr-commits' - uses: tim-actions/get-pr-commits@v1.1.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - name: DCO Check - uses: tim-actions/dco@v1.1.0 - with: - commits: ${{ steps.get-pr-commits.outputs.commits }}