Backport add CreateAlertTool (#349) (#456) #1272
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: | |
- "*" | |
jobs: | |
Get-CI-Image-Tag: | |
runs-on: ubuntu-latest | |
outputs: | |
ci-image-version-linux: ${{ steps.step-ci-image-version-linux.outputs.ci-image-version-linux }} | |
steps: | |
- name: Install crane | |
uses: iarekylew00t/crane-installer@v1 | |
with: | |
crane-release: v0.15.2 | |
- name: Checkout opensearch-build repository | |
uses: actions/checkout@v2 | |
with: | |
repository: 'opensearch-project/opensearch-build' | |
ref: 'main' | |
path: 'opensearch-build' | |
- name: Get ci image version from opensearch-build repository scripts | |
id: step-ci-image-version-linux | |
run: | | |
crane version | |
CI_IMAGE_VERSION=`opensearch-build/docker/ci/get-ci-images.sh -p centos7 -u opensearch -t build | head -1` | |
echo $CI_IMAGE_VERSION | |
echo "ci-image-version-linux=$CI_IMAGE_VERSION" >> $GITHUB_OUTPUT | |
build-linux: | |
needs: Get-CI-Image-Tag | |
strategy: | |
matrix: | |
java: [11, 17, 21] | |
env: | |
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
name: Build and Test skills plugin 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 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Build and Test | |
run: | | |
chown -R 1000:1000 `pwd` | |
su `id -un 1000` -c "./gradlew build && | |
./gradlew publishToMavenLocal" | |
- name: Upload Coverage Report | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
build-MacOS: | |
strategy: | |
matrix: | |
java: [11, 17, 21] | |
name: Build and Test skills Plugin on MacOS | |
needs: Get-CI-Image-Tag | |
runs-on: macos-latest | |
steps: | |
- name: Checkout skills | |
uses: actions/checkout@v1 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Install dependencies on macos | |
run: | | |
brew reinstall gcc | |
export FC=/usr/local/Cellar/gcc/12.2.0/bin/gfortran | |
- name: Run build | |
run: | | |
./gradlew build -Dos.arch=x86_64 | |
build-windows: | |
strategy: | |
matrix: | |
java: [11, 17, 21] | |
name: Build and Test skills plugin on Windows | |
needs: Get-CI-Image-Tag | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Build and Test | |
run: | | |
./gradlew build | |
- name: Publish to Maven Local | |
run: | | |
./gradlew publishToMavenLocal | |
- name: Upload Coverage Report | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |