Skip to content

Ghidra Extension Publish #17

Ghidra Extension Publish

Ghidra Extension Publish #17

name: Ghidra Extension Publish
env:
ghidra-url: https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.0.3_build/ghidra_11.0.3_PUBLIC_20240410.zip
ghidra-zip-filename: ghidra_11.0.3_PUBLIC_20240410.zip
ghidra-directory: ghidra_11.0.3_PUBLIC
on:
push:
tags:
- '*'
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: Get the version
id: get_version
run: |
echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
echo ::set-output name=CHANGE_LOG::$(git log --pretty=format:"* %s" $(git describe --tags --abbrev=0 HEAD^)..HEAD)
- name: Download Ghidra release
uses: carlosperate/[email protected]
id: download-ghidra
with:
file-url: ${{ env.ghidra-url }}
file-name: ${{ env.ghidra-zip-filename }}
- name: Build
shell: bash
run: |
unzip -qq ${{ steps.download-ghidra.outputs.file-path }} -d /opt
rm -v ${{ env.ghidra-zip-filename }}
cd lightkeeper
java --version
gradle -PGHIDRA_INSTALL_DIR=/opt/${{ env.ghidra-directory }}
mv -v dist/*.zip ${{ github.workspace }}/lightkeeper-${{ steps.get_version.outputs.VERSION }}.zip
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Change log:
${{ steps.get_version.outputs.CHANGE_LOG }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/lightkeeper-${{ steps.get_version.outputs.VERSION }}.zip
asset_name: lightkeeper-${{ steps.get_version.outputs.VERSION }}.zip
asset_content_type: application/zip