Skip to content

Update to v0.5.6

Update to v0.5.6 #130

Workflow file for this run

name: quokka-build
on: [push]
env:
BUILD_TYPE: Release
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
ida_sdk: [74, 77, 80, 81, 82, 83]
include:
- ida_sdk: 74
sdk_password: IDA_SDK74_PASSWORD
- ida_sdk: 77
sdk_password: IDA_SDK77_PASSWORD
- ida_sdk: 80
sdk_password: IDA_SDK80_PASSWORD
- ida_sdk: 81
sdk_password: IDA_SDK81_PASSWORD
- ida_sdk: 82
sdk_password: IDA_SDK82_PASSWORD
- ida_sdk: 83
sdk_password: IDA_SDK83_PASSWORD
- os: ubuntu-latest
ext: so
- os: windows-latest
ext: dll
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.12
- name: Install Ninja (Linux only)
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: seanmiddleditch/gha-setup-ninja@master
- name: Prepare build environment (Linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
env:
IDA_SDK_VERSION: idasdk${{ matrix.ida_sdk }}
IDA_SDK_PASSWORD: ${{ secrets[matrix.sdk_password] }}
CMAKE_BUILD_DIR: build${{ matrix.ida_sdk }}
run: |
[ ! -d third_party/$IDA_SDK_VERSION ] && unzip -d third_party -P $IDA_SDK_PASSWORD third_party/$IDA_SDK_VERSION.zip
[ -f third_party/$IDA_SDK_VERSION/include/regex.h ] && mv third_party/$IDA_SDK_VERSION/include/regex.h third_party/$IDA_SDK_VERSION/include/regex.bak
cmake -B $CMAKE_BUILD_DIR -S $GITHUB_WORKSPACE -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DIdaSdk_ROOT_DIR=${GITHUB_WORKSPACE}/third_party/$IDA_SDK_VERSION
- name: Prepare build environment (Windows)
if: ${{ matrix.os == 'windows-latest' }}
env:
IDA_SDK_VERSION: idasdk${{ matrix.ida_sdk }}
IDA_SDK_PASSWORD: ${{ secrets[matrix.sdk_password] }}
CMAKE_BUILD_DIR: build${{ matrix.ida_sdk }}
run: |
7z.exe x -p"${env:IDA_SDK_PASSWORD}" -y -o"third_party" "third_party\${env:IDA_SDK_VERSION}.zip"
rm "third_party\${env:IDA_SDK_VERSION}\include\regex.h"
cmake -B "${env:CMAKE_BUILD_DIR}" -S "${env:GITHUB_WORKSPACE}" -DIdaSdk_ROOT_DIR="${env:GITHUB_WORKSPACE}/third_party/${env:IDA_SDK_VERSION}"
- name: Build
env:
CMAKE_BUILD_DIR: build${{ matrix.ida_sdk }}
shell: bash
run: |
cmake --build $CMAKE_BUILD_DIR --config $BUILD_TYPE
cmake --install $CMAKE_BUILD_DIR
- name: Rename Plugin
shell: bash
run:
mv build${{ matrix.ida_sdk }}/quokka-install/quokka_* ${{ matrix.ida_sdk }}-quokka_plugin0064.${{ matrix.ext }}
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}
path: ${{ matrix.ida_sdk }}-quokka_plugin0064.${{ matrix.ext }}
if-no-files-found: error
upload:
name: Upload artifacts for Release
needs: [build]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
ida_sdk: [74, 77, 80, 81, 82, 83]
include:
- os: windows-latest
ext: dll
- os: ubuntu-latest
ext: so
steps:
- name: Download Artefact
uses: actions/download-artifact@v3
with:
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}
- name: Release
uses: softprops/action-gh-release@v0.1.14
with:
files: ${{ matrix.ida_sdk }}-quokka_*
fail_on_unmatched_files: true