Skip to content

Commit

Permalink
Update ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
a1ext authored Jan 27, 2025
1 parent 907e29d commit cac6666
Showing 1 changed file with 75 additions and 27 deletions.
102 changes: 75 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
VERSION_REVISION=$(grep -E '\#define\s+VERSION_REVISION\s+([0-9]+)' ./common/version.h | awk '{print $3}')
VERSION_BUILD=$(grep -E '\#define\s+VERSION_BUILD\s+([0-9]+)' ./common/version.h | awk '{print $3}')
echo "VER=$VERSION_MAJOR.$VERSION_MAJOR.$VERSION_REVISION.$VERSION_BUILD" >> $GITHUB_ENV
echo "github.ref: ${{ github.ref }}"
- name: Set outputs Windows
if: runner.os == 'Windows'
Expand Down Expand Up @@ -199,67 +199,77 @@ jobs:
ls -la ../
- name: Linux, build IDA 7 plugin 32-bit target
- name: Linux, build IDA 7 plugin 32/64-bit target
if: runner.os == 'Linux'
env:
SDK_PATH: ${{ github.workspace }}/../idasdk70
IDA_PATH: ${{ github.workspace }}/build
run: |
cd ./build
mkdir -p plugins
# 32-bit
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_70
make qmake_all
make clean
make -j$(nproc)
- name: Linux, build IDA 7 plugin 64-bit target
if: runner.os == 'Linux'
env:
SDK_PATH: ${{ github.workspace }}/../idasdk70
IDA_PATH: ${{ github.workspace }}/build
run: |
cd ./build
mkdir -p plugins
# 64-bit
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_70 CONFIG+=ea64
make qmake_all
make clean
make -j$(nproc)
make -j$(nproc)
- name: Linux, build IDA 8 plugin 32-bit target
- name: Linux, build IDA 8 plugin 32/64-bit target
if: runner.os == 'Linux'
env:
SDK_PATH: ${{ github.workspace }}/../idasdk_pro83
IDA_PATH: ${{ github.workspace }}/build
run: |
cd ./build
mkdir -p plugins
# 32-bit
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_83
make qmake_all
make clean
make -j$(nproc)
- name: Linux, build IDA 8 plugin 64-bit target
# 64-bit
make clean
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_83 CONFIG+=ea64
make qmake_all
make clean
make -j$(nproc)
- name: Linux, build IDA 9 plugin
if: runner.os == 'Linux'
env:
SDK_PATH: ${{ github.workspace }}/../idasdk_pro83
SDK_PATH: ${{ github.workspace }}/../idasdk90sp1
IDA_PATH: ${{ github.workspace }}/build
run: |
cd ./build
mkdir -p plugins
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_83 CONFIG+=ea64
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_90 CONFIG+=ea64
make qmake_all
make clean
make -j$(nproc)
- name: Linux, build IDA 9 plugin
if: runner.os == 'Linux'
- name: MacOS, build IDA 8 plugin
if: runner.os == 'macOS'
env:
SDK_PATH: ${{ github.workspace }}/../idasdk90sp1
SDK_PATH: ${{ github.workspace }}/../idasdk_pro83
IDA_PATH: ${{ github.workspace }}/build
run: |
cd ./build
mkdir -p plugins
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_90 CONFIG+=ea64
# 32-bit
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec macx-clang CONFIG+=release CONFIG+=labeless_ida_83
make qmake_all
make clean
make -j$(nproc)
# 64-bit
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec macx-clang CONFIG+=release CONFIG+=labeless_ida_83 CONFIG+=ea64
make qmake_all
make clean
make -j$(nproc)
Expand All @@ -284,28 +294,28 @@ jobs:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_olly:Rebuild /p:Configuration=Release /p:Platform=Win32 /v:m
- name: Build OllyDBG FOFF plugin
- name: Windows, Build OllyDBG FOFF plugin
if: runner.os == 'Windows'
shell: cmd
run: |
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_olly:Rebuild /p:Configuration=Release_DeFixed /p:Platform=Win32 /v:m
- name: Build OllyDBG 2.0 plugin
- name: Windows, Build OllyDBG 2.0 plugin
if: runner.os == 'Windows'
shell: cmd
run: |
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_olly2:Rebuild /p:Configuration=Release /p:Platform=Win32 /v:m
- name: Build x64dbg 32-bit plugin
- name: Windows, Build x64dbg 32-bit plugin
if: runner.os == 'Windows'
shell: cmd
run: |
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_x64dbg:Rebuild /p:Configuration=Release /p:Platform=Win32 /v:m
- name: Build x64dbg 64-bit plugin
- name: Windows, Build x64dbg 64-bit plugin
if: runner.os == 'Windows'
shell: cmd
run: |
Expand All @@ -326,8 +336,7 @@ jobs:
curl -L "https://go.microsoft.com/fwlink/p/?LinkId=323507" -o .\sdksetup.exe
Start-Process -Wait sdksetup.exe -ArgumentList "/q", "/norestart", "/features", "OptionId.WindowsDesktopSoftwareDevelopmentKit", "OptionId.NetFxSoftwareDevelopmentKit"

- name: Build IDA 7 plugins
- name: Windows, Build IDA 7 plugins
if: runner.os == 'Windows'
shell: cmd
run: |
Expand All @@ -337,7 +346,7 @@ jobs:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_ida:Rebuild /p:Configuration=IDA7_x64 /p:Platform=x64 /v:m /property:QTDIR=c:\depz\qt5.6.0_msvc2015_x64_qt_namespace\qtbase /p:IDA_DIR=c:\depz\idasdk70 /p:SDK_DIR=c:\depz\idasdk70
- name: Build IDA 8 plugins
- name: Windows, Build IDA 8 plugins
if: runner.os == 'Windows'
shell: cmd
run: |
Expand All @@ -347,7 +356,7 @@ jobs:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ^
labeless.sln /t:labeless_ida:Rebuild /p:Configuration=IDA8_x64 /p:Platform=x64 /v:m /property:QTDIR=c:\depz\qt5.6.0_msvc2015_x64_qt_namespace\qtbase /p:IDA_DIR=c:\depz\idasdk_pro83 /p:SDK_DIR=c:\depz\idasdk_pro83
- name: Build IDA 9 plugins
- name: Windows, Build IDA 9 plugins
if: runner.os == 'Windows'
shell: cmd
run: |
Expand Down Expand Up @@ -382,3 +391,42 @@ jobs:
bin/labeless_ida_*.pdb
build/labeless_*.so
build/labeless_*.dylib
release:
name: Draft Release and Upload Artifacts
needs: build
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Download all artifacts
uses: actions/download-artifact@v3
with:
path: release_artifacts/

# TODO: organize release bundle

- name: Create Draft Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ github.ref_name }} # The tag name that triggered the workflow
release_name: Release ${{ github.ref_name }}
body: |
## Release Notes
This is an automated draft release for tag `${{ github.ref_name }}`.
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Artifacts to Release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release_artifacts/
asset_name: "build_artifacts_${{ github.ref_name }}.zip"
asset_content_type: application/zip

0 comments on commit cac6666

Please sign in to comment.