De-dupe Alerts generated by Aggregation Sigma Rules fix #84
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: | |
- "*" | |
env: | |
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
jobs: | |
Get-CI-Image-Tag: | |
uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main | |
with: | |
product: opensearch | |
build-linux: | |
needs: Get-CI-Image-Tag | |
strategy: | |
matrix: | |
java: [21] | |
os: [ ubuntu-latest ] | |
name: Build and Test security-analytics with JDK ${{ matrix.java }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
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: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-start-options }} | |
steps: | |
- name: Run start commands | |
run: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-start-command }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- 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 "whoami && java -version && ./gradlew build" | |
- name: Create Artifact Path | |
run: | | |
mkdir -p security-analytics-artifacts | |
cp ./build/distributions/*.zip security-analytics-artifacts | |
- name: Upload Coverage Report | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload failed logs | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: logs-ubuntu | |
path: build/testclusters/integTest-*/logs/* | |
overwrite: true | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: security-analytics-plugin-${{ matrix.os }} | |
path: security-analytics-artifacts | |
overwrite: true | |
build-windows-macos: | |
env: | |
BUILD_ARGS: ${{ matrix.os_build_args }} | |
WORKING_DIR: ${{ matrix.working_directory }}. | |
strategy: | |
matrix: | |
java: [21] | |
os: [ windows-latest, macos-latest ] | |
include: | |
- os: windows-latest | |
os_build_args: -x integTest | |
working_directory: X:\ | |
os_java_options: -Xmx4096M | |
- os: macos-latest | |
os_build_args: -x jacocoTestReport | |
name: Build and Test security-analytics with JDK ${{ matrix.java }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# This is a hack, but this step creates a link to the X: mounted drive, which makes the path | |
# short enough to work on Windows | |
- name: Shorten Path | |
if: ${{ matrix.os == 'windows-latest' }} | |
run: subst 'X:' . | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Build and Test | |
working-directory: ${{ env.WORKING_DIR }} | |
run: ./gradlew build ${{ env.BUILD_ARGS }} | |
env: | |
_JAVA_OPTIONS: ${{ matrix.os_java_options }} | |
- name: Create Artifact Path | |
run: | | |
mkdir -p security-analytics-artifacts | |
cp ./build/distributions/*.zip security-analytics-artifacts | |
- name: Upload failed logs | |
uses: actions/upload-artifact@v4 | |
if: ${{ failure() && matrix.os == 'macos-latest' }} | |
with: | |
name: logs-mac | |
path: build/testclusters/integTest-*/logs/* | |
overwrite: true | |
- name: Upload failed logs | |
uses: actions/upload-artifact@v4 | |
if: ${{ failure() && matrix.os == 'windows-latest' }} | |
with: | |
name: logs-windows | |
path: build\testclusters\integTest-*\logs\* | |
overwrite: true | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: security-analytics-plugin-${{ matrix.os }} | |
path: security-analytics-artifacts | |
overwrite: true |