Skip to content

Commit

Permalink
Add build.yml workflow (#28)
Browse files Browse the repository at this point in the history
* Add build.yml

* Update build.yml

* Fix zip path

* Add improvements

Upgrade Java. Remove setup-gradle. Add revision.

* Rename wazuh.version to just version

* Add build_on_push

* Fix unspecified version bug

* Add back setup-gradle for caching

* Unify workflows

* Roll back

* Upgrade to OpenSearch 2.15.0
  • Loading branch information
AlexRuiz7 committed Aug 28, 2024
1 parent 73d1519 commit d2cef9e
Show file tree
Hide file tree
Showing 5 changed files with 115 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
updates:
- directory: /
- directory: /plugins
open-pull-requests-limit: 1
package-ecosystem: gradle
schedule:
Expand Down
90 changes: 90 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
run-name: Build ${{ inputs.plugin }} plugin | ${{ inputs.id }}
name: Build packages

# This workflow runs when any of the following occur:
# - Run manually
# - Invoked from another workflow
on:
workflow_dispatch:
inputs:
revision:
description: "Revision"
type: string
default: "0"
plugin:
description: "Name of the plugin to build"
type: string
default: "wazuh-indexer-setup"
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false
workflow_call:
inputs:
revision:
description: "Revision"
type: string
default: "0"
plugin:
description: "Name of the plugin to build"
type: string
default: "wazuh-indexer-setup"
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false

# ==========================
# Bibliography
# ==========================
#
# * Reusable workflows: limitations
# | https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations
# * Using matrix in reusable workflows:
# | https://docs.github.com/en/actions/using-workflows/reusing-workflows#using-a-matrix-strategy-with-a-reusable-workflow
# * Reading input from the called workflow
# | https://docs.github.com/en/enterprise-cloud@latest/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callinputs
# * Ternary operator
# | https://docs.github.com/en/actions/learn-github-actions/expressions#example

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Setup Gradle # Used for caching
uses: gradle/actions/setup-gradle@v4

- name: Get version
id: version
run: echo "version=$(<VERSION)" >> "$GITHUB_OUTPUT"

- name: Build with Gradle
working-directory: ./plugins/${{ inputs.plugin }}
run: ./gradlew build -Dversion=${{ steps.version.outputs.version }} -Drevision=${{ inputs.revision }}

# - name: Test RPM package
# if: ${{ matrix.distribution == 'rpm' }}
# uses: addnab/docker-run-action@v3
# with:
# image: redhat/ubi9:latest
# options: -v ${{ github.workspace }}/artifacts/dist:/artifacts/dist
# run: |
# yum localinstall "/artifacts/dist/${{ steps.package.outputs.name }}" -y

# - name: Test DEB package
# if: ${{ matrix.distribution == 'deb' }}
# run: |
# sudo dpkg -i "artifacts/dist/${{ steps.package.outputs.name }}"

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.plugin }}-${{ steps.version.outputs.version }}.${{ inputs.revision }}.zip
path: plugins/${{ inputs.plugin }}/build/distributions/${{ inputs.plugin }}-${{ steps.version.outputs.version }}.${{ inputs.revision }}.zip
if-no-files-found: error
14 changes: 14 additions & 0 deletions .github/workflows/build_on_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Build packages (on push)

# This workflow runs when any of the following occur:
# - On push to branches named after ci/*
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- "ci/*"

jobs:
call-build-workflow:
uses: ./.github/workflows/build.yml
secrets: inherit
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5.0.0
12 changes: 9 additions & 3 deletions plugins/wazuh-indexer-setup/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ def pluginDescription = 'Wazuh Indexer setup plugin'
def projectPath = 'org.wazuh'
def pathToPlugin = 'setup'
def pluginClassName = 'WazuhIndexerSetupPlugin'
group = "WazuhIndexerSetupGroup"

tasks.register("preparePluginPathDirs") {
mustRunAfter clean
Expand All @@ -38,7 +37,7 @@ publishing {
}
developers {
developer {
name = "OpenSearch"
name = "Wazuh"
url = "https://github.com/opensearch-project/opensearch-plugin-template-java"
}
}
Expand All @@ -63,7 +62,9 @@ validateNebulaPom.enabled = false

buildscript {
ext {
opensearch_version = System.getProperty("opensearch.version", "2.14.0")
opensearch_version = System.getProperty("opensearch.version", "2.15.0")
wazuh_version = System.getProperty("version", "5.0.0")
revision = System.getProperty("revision", "0")
}

repositories {
Expand All @@ -78,6 +79,11 @@ buildscript {
}
}

allprojects {
group = 'org.wazuh'
version = "${wazuh_version}" + ".${revision}"
}

repositories {
mavenLocal()
maven { url "https://aws.oss.sonatype.org/content/repositories/snapshots" }
Expand Down

0 comments on commit d2cef9e

Please sign in to comment.