Skip to content

CI: Ghidra: multiple build versions by default, monthly actions trigger, ability to specify Ghidra versions manually #32

CI: Ghidra: multiple build versions by default, monthly actions trigger, ability to specify Ghidra versions manually

CI: Ghidra: multiple build versions by default, monthly actions trigger, ability to specify Ghidra versions manually #32

Workflow file for this run

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/*