Skip to content

Initial release

Initial release #1

Workflow file for this run

on:
push:
tags:
- '*'
jobs:
create_release:
name: Create GitHub Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
permissions:
contents: write # To checkout repo and to create release
steps:
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: GAIT release ${{ github.ref }}
draft: false
prerelease: false
build-matrix:
needs: create_release # we need to know the upload URL
runs-on: ubuntu-latest
permissions:
contents: write # To checkout repo and to create release
strategy:
matrix:
ghidra_version: ['11.1.2', '11.1.1', '11.1', '11.0.3', '11.0.2', '11.0.1', '11.0']
steps:
- name: checkout repo
uses: actions/checkout@v3
- name: Extract tag name
id: tag
run: echo ::set-output name=TAG_NAME::$(echo $GITHUB_REF | cut -d / -f 3)
- name: build
env:
GHIDRA_VERSION: ${{ matrix.ghidra_version }}
run: docker compose up --exit-code-from build.service
- name: Extract filename
id: filename
run: echo ::set-output name=ASSET_NAME::$(ls -AU plugin/AngrIntegration/dist | head -1)
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: plugin/AngrIntegration/dist/${{ steps.filename.outputs.ASSET_NAME }}
asset_name: ghidra-angr-integration-tool-${{ steps.tag.outputs.TAG_NAME }}-ghidra_${{ matrix.ghidra_version }}.zip
asset_content_type: application/zip