Skip to content

Setup Binary Ninja environment

Actions
Setup Binary Ninja within your github actions runner
v1-beta
LatestPre-release
Star (3)

Tags

 (1)

Setup Binary Ninja action

This action installs Binary Ninja for testing and building both native and python plugins within GitHub CI.

This only supports Linux, if you want to run on Windows or MACOS runners you will need to manually create a headless version of Binary NInja and pass in the download-url.

Example usage

When using this action it should be noted that the license input should basically always be a secret.

uses: Vector35/setup-binary-ninja@v1
with:
  license: '${{ secrets.BN_SERIAL }}'

Example workflows

Inputs

license

Your serial number, this is required unless you specify a download-url. Use a secret to store the serial number securely.

extract-path

Where to extract the installation. Default is "${RUNNER_TEMP}".

download-url

Override the default download process. This is for advanced use cases where you cannot otherwise depend on the regular download servers, or if you need a specific version of Binary Ninja. If this is set you do not need to set the license input.

dev-branch

Whether to use the development branch of Binary Ninja. Default is false.

python-support

Whether or not to expose Binary Ninja to the runners python installation, i.e. the ability to import binaryninja in python. Make sure you have set up python before this action is run. Default is true.

Outputs

install-path

The installation directory.

Developing

Building

GitHub actions must not import remote packages, thus a bundler is required to pack all dependencies into a single script. To regenerate the bundle (dist/index.js) run npm run build.

Testing

Use act to test your changes locally, make sure to specify a runner image that has python installed if python-support is set to true.

act push -s BN_SERIAL=yourserial -P ubuntu-latest=catthehacker/ubuntu:act-latest

Commiting

Oddly enough GitHub actions requires the distributed bundle to be in-tree, when commiting changes ensure that the bundle you have built is up-to-date with any changes made to the source.

Setup Binary Ninja environment is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Setup Binary Ninja within your github actions runner
v1-beta
LatestPre-release

Tags

 (1)

Setup Binary Ninja environment is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.