diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 44f6775e..b35b4c10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,39 +9,18 @@ on: - "*" jobs: - Get-CI-Image-Tag: - uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main - with: - product: opensearch - linux-build: strategy: matrix: java: [ 21 ] - needs: Get-CI-Image-Tag # Job name name: Linux - Build Asynchronous Search - # This job runs on Linux. - outputs: - build-test-linux: ${{ steps.step-build-test-linux.outputs.build-test-linux }} + # This job runs on Ubuntu. 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 - - # actions/checkout@v4 and actions/setup-java@v4 use node 20: - # https://github.com/actions/checkout/releases/tag/v4.0.0 - # container image does not have GLIBC_2.28 required for this node version - # as such use @v3 actions instead for this workflow and set ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION - env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: # This step uses the setup-java Github action: https://github.com/actions/setup-java - - name: Set up JDK ${{ matrix.java }} for build and test + - name: Set Up JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: distribution: temurin # Temurin is a distribution of adoptium @@ -52,17 +31,20 @@ jobs: - name: Build with Gradle id: step-build-test-linux run: | - chown -R 1000:1000 `pwd` - su `id -un 1000` -c "./gradlew build" + ./gradlew build -x integTest -x jacocoTestReport plugin=`basename $(ls build/distributions/*.zip)` echo plugin $plugin mv -v build/distributions/$plugin ./ echo "build-test-linux=$plugin" >> $GITHUB_OUTPUT + env: + _JAVA_OPTIONS: -Xmx4096M + # This step uses the upload-artifact Github action: https://github.com/actions/upload-artifact - name: Uploads coverage uses: codecov/codecov-action@v1.2.1 with: token: ${{ secrets.CODECOV_TOKEN }} - - uses: actions/upload-artifact@v3 + - name: Upload Artifacts + uses: actions/upload-artifact@v3 with: name: async-plugin-linux-${{ matrix.java }} path: ${{ steps.step-build-test-linux.outputs.build-test-linux }} diff --git a/.github/workflows/multi-node-test-workflow.yml b/.github/workflows/multi-node-test-workflow.yml index cbfdf430..3d920526 100644 --- a/.github/workflows/multi-node-test-workflow.yml +++ b/.github/workflows/multi-node-test-workflow.yml @@ -10,33 +10,14 @@ on: - "*" jobs: - Get-CI-Image-Tag: - uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main - with: - product: opensearch - build: strategy: matrix: java: [ 21 ] # Job name - needs: Get-CI-Image-Tag name: Build Asynchronous Search # This job runs on Linux 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 - - # actions/checkout@v4 and actions/setup-java@v4 use node 20: - # https://github.com/actions/checkout/releases/tag/v4.0.0 - # container image does not have GLIBC_2.28 required for this node version - # as such use @v3 actions instead for this workflow and set ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION - env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: # This step uses the setup-java Github action: https://github.com/actions/setup-java @@ -45,19 +26,16 @@ jobs: with: distribution: temurin # Temurin is a distribution of adoptium java-version: ${{ matrix.java }} - # This step uses the checkout Github action: https://github.com/actions/checkout - name: Checkout Branch uses: actions/checkout@v3 - name: Run integration tests with multi node config run: | - chown -R 1000:1000 `pwd` - su `id -un 1000` -c "./gradlew integTest -PnumNodes=5" + ./gradlew integTest -PnumNodes=5 - name: Run Backwards Compatibility Tests run: | echo "Running backwards compatibility tests ..." - chown -R 1000:1000 `pwd` - su `id -un 1000` -c "./gradlew bwcTestSuite -Dtests.security.manager=false" + ./gradlew bwcTestSuite -Dtests.security.manager=false - name: Upload failed logs uses: actions/upload-artifact@v3 if: failure()