CI: Ghidra: multiple build versions by default, monthly actions trigger, ability to specify Ghidra versions manually #32
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
name: gradle-build | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
ghidra_version: | |
description: 'Specify the Ghidra version(s) you want to build for (e.g. "latest", "11.0")' | |
required: true | |
default: '"latest"' | |
schedule: | |
- cron: '0 0 1 * *' # Monthly | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
ghidra: ${{ fromJSON(format('[{0}]', inputs.ghidra_version || '"latest","11.1.2","11.1.1","11.1","11.0.3","11.0.2","11.0.1","11.0"')) }} | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: zulu | |
java-version: "17" | |
- name: Setup Ghidra | |
uses: antoniovazquezblanco/[email protected] | |
with: | |
version: ${{ matrix.ghidra }} | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
gradle-version: 8.7 | |
- name: Build | |
working-directory: ${{ github.workspace }}/java | |
run: | | |
gradle buildExtension -PGHIDRA_INSTALL_DIR=${{ env.GHIDRA_INSTALL_DIR }} | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: BinExport_Ghidra_${{ matrix.ghidra }} | |
path: | | |
${{ github.workspace }}/java/dist/* |