Skip to content

Onboarding jenkins prod docker images to github actions #502

Onboarding jenkins prod docker images to github actions

Onboarding jenkins prod docker images to github actions #502

name: Build and Test Anomaly detection
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
jobs:
Get-CI-Image-Tag:
uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main
with:
product: opensearch
# Build-ad-windows:
# strategy:
# matrix:
# java: [ 11, 17, 20 ]
# name: Build and Test Anomaly Detection Plugin on Windows
# runs-on: windows-latest
# env:
# JENKINS_URL: build.ci.opensearch.org
# steps:
# - name: Setup Java ${{ matrix.java }}
# uses: actions/setup-java@v3
# with:
# distribution: 'temurin'
# java-version: ${{ matrix.java }}
# - name: Checkout Anomaly Detection
# uses: actions/checkout@v4
#
# - name: Build and Run Tests
# run: |
# ./gradlew build
# - name: Publish to Maven Local
# run: |
# ./gradlew publishToMavenLocal
# - name: Multi Nodes Integration Testing
# run: |
# ./gradlew integTest -PnumNodes=3
# - name: Upload Coverage Report
# uses: codecov/codecov-action@v3
# with:
# file: ./build/reports/jacoco/test/jacocoTestReport.xml
# flags: plugin
Build-ad-linux:
needs: Get-CI-Image-Tag
strategy:
matrix:
java: [11]
fail-fast: false
name: Build and Test Anomaly detection Plugin
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
env:
JENKINS_URL: build.ci.opensearch.org
steps:
- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Checkout AD
uses: actions/checkout@v3
- name: Assemble anomaly-detection
run: |
./gradlew assemble
- name: Build and Run Tests
run: |
./gradlew build
- name: Publish to Maven Local
run: |
./gradlew publishToMavenLocal
- name: Multi Nodes Integration Testing
run: |
./gradlew integTest -PnumNodes=3
- name: Upload Coverage Report
uses: codecov/codecov-action@v3
with:
file: ./build/reports/jacoco/test/jacocoTestReport.xml
flags: plugin
# Build-ad-macos:
# strategy:
# matrix:
# java: [11,17,20]
# fail-fast: false
#
# name: Build and Test Anomaly detection Plugin
# runs-on: macos-latest
# env:
# JENKINS_URL: build.ci.opensearch.org
#
# steps:
# - name: Setup Java ${{ matrix.java }}
# uses: actions/setup-java@v3
# with:
# distribution: 'temurin'
# java-version: ${{ matrix.java }}
#
# - name: Checkout AD
# uses: actions/checkout@v4
#
# - name: Assemble anomaly-detection
# run: |
# ./gradlew assemble
# - name: Build and Run Tests
# run: |
# ./gradlew build
# - name: Publish to Maven Local
# run: |
# ./gradlew publishToMavenLocal
# - name: Multi Nodes Integration Testing
# run: |
# ./gradlew integTest -PnumNodes=3
# - name: Upload Coverage Report
# uses: codecov/codecov-action@v3
# with:
# file: ./build/reports/jacoco/test/jacocoTestReport.xml
# flags: plugin