Build plugin | #1
Workflow file for this run
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
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 push to branches named after ci/* | |
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 | |
push: | |
# Sequence of patterns matched against refs/heads | |
branches: | |
- "ci/*" | |
# ========================== | |
# 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 |