Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ghidra: update CI Workflow to reflect recent Ghidrathon changes #1976

Closed
colton-gabertan opened this issue Feb 7, 2024 · 7 comments
Closed
Assignees
Labels
CI Continuous Integration configuration ghidra Related to Ghidra integration good first issue Good for newcomers help wanted Extra attention is needed

Comments

@colton-gabertan
Copy link
Collaborator

Summary

The latest release candidate for Ghidrathon now includes an installation script. This now outdates the method used in the Ghidra backend's CI workflow. Please update the workflow to use the new installer.

@colton-gabertan colton-gabertan added CI Continuous Integration configuration ghidra Related to Ghidra integration labels Feb 7, 2024
@mike-hunhoff mike-hunhoff added the good first issue Good for newcomers label Feb 7, 2024
@mike-hunhoff
Copy link
Collaborator

Thank you for opening, great idea! With the latest changes to Ghidrathon we can download the pre-built extension and remove the Gradle build steps from our CI workflow.

@mike-hunhoff mike-hunhoff changed the title Update Ghidrathon Installation in the CI Workflow ghidra: update CI Workflow to reflect recent Ghidrathon changes Feb 7, 2024
@mike-hunhoff mike-hunhoff added the help wanted Extra attention is needed label Feb 7, 2024
@psahithireddy
Copy link
Contributor

psahithireddy commented Feb 23, 2024

Hello, can I please take this up? I also noticed version upgrade is needed for jep and ghidrathon, should I bump up version in this change?

@mike-hunhoff
Copy link
Collaborator

Thank you for reaching out @psahithireddy - I've assigned this issue to you. The goal here is to update capa's existing Ghidra test workflow to leverage the simplified Ghidrathon v4 installation steps outlined in its README. Specifically, we want to substitute building Ghidrathon with downloading the latest pre-built release from GitHub.

As you already mentioned, let's also update the versions:

  • Ghidra -> 11.0.1
  • Ghidrathon -> 4.0.0
  • Jep -> 4.2.0 (this is installed as part of the simplified Ghidrathon v4 steps)

Reach out here if you have any questions! 🚀

@psahithireddy
Copy link
Contributor

Hi @mike-hunhoff, I have few questions

  1. In the installation steps for ghidrathon, I believe you missed mentioning cd /util to run requirements.txt and ghidrathon_configure.py.
  2. Also, do I need to add the installation of requirements.txt into CI workflow as it only contains jep, which is already in CI workflow.
    Thanks :)

@mike-hunhoff
Copy link
Collaborator

mike-hunhoff commented Feb 23, 2024

The Ghidrathon-v4.0.0.zip file contains three files:
Screenshot 2024-02-23 1 53 01 PM

requirements.txt and ghidrathon_configure.py can be used as described Ghidrathon's installation steps. The embedded Ghidrathon-v4.0.0.zip should be extracted directly to <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions. From there, we can run the CI tests.

So the first step here is to update the CI workflow to download and extract the Ghidrathon-v4.0.0.zip file instead of building it from source.

@psahithireddy
Copy link
Contributor

psahithireddy commented Feb 24, 2024

Understood. My apologies for the bad PRs, I now found a way to trigger ci workflow to test it without PR, in my local. Should I update the CHANGELOG too?

Thanks a lot for your help!

@mike-hunhoff
Copy link
Collaborator

closed by #2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration configuration ghidra Related to Ghidra integration good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
3 participants