Skip to content

Commit

Permalink
ci: Update GitHub actions to also build on MacOS
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkaMaul committed Apr 4, 2024
1 parent 2a3027d commit 53e7a5d
Showing 1 changed file with 27 additions and 15 deletions.
42 changes: 27 additions & 15 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest, windows-latest, macos-latest]
ida_sdk: [74, 77, 80, 81, 82, 83]
include:
- ida_sdk: 74
Expand All @@ -28,21 +28,27 @@ jobs:
ext: so
- os: windows-latest
ext: dll
- os: macos-latest
ext: dylib
exclude:
# We exclude these because ARM libraries were not available in 7.4 and the latest macos runner on GitHub are Mx machines
- os: macos-latest
ida_sdk: 74

runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4.1.1

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.12
uses: jwlawson/actions-setup-cmake@959f1116cf9f1ae42fff8ec1a4aaae6d4a0e348b #v2.0.1

- name: Install Ninja (Linux only)
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: seanmiddleditch/gha-setup-ninja@master
- name: Install Ninja (Linux / MacOS)
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' }}
uses: seanmiddleditch/gha-setup-ninja@v4

- name: Prepare build environment (Linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Prepare build environment (Linux / MacOS)
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' }}
env:
IDA_SDK_VERSION: idasdk${{ matrix.ida_sdk }}
IDA_SDK_PASSWORD: ${{ secrets[matrix.sdk_password] }}
Expand Down Expand Up @@ -80,19 +86,18 @@ jobs:
# We need one action per file
# See https://github.com/actions/upload-artifact/issues/331
- name: Upload Artifacts (64)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v4.3.1
with:
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}
path: ${{ matrix.ida_sdk }}-quokka_plugin0064.${{ matrix.ext }}
if-no-files-found: error

- name: Upload Artifacts (32)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v4.3.1
with:
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}-32
path: ${{ matrix.ida_sdk }}-quokka_plugin0032.${{ matrix.ext }}
if-no-files-found: error


upload:
name: Upload artifacts for Release
Expand All @@ -102,21 +107,28 @@ jobs:

strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest, windows-latest, macos-latest]
ida_sdk: [74, 77, 80, 81, 82, 83]
bitness: ['', '-32']
include:
- os: windows-latest
ext: dll
- os: ubuntu-latest
ext: so
- os: macos-latest
ext: dylib
exclude:
- os: macos-latest
ida_sdk: 74

steps:
- name: Download Artefact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.4
with:
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}
name: idaplugin-${{ matrix.os }}-${{ matrix.ida_sdk }}${{ matrix.bitness }}

- name: Release
uses: softprops/action-gh-release@v0.1.14
uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 #v2.0.4
with:
files: ${{ matrix.ida_sdk }}-quokka_*
fail_on_unmatched_files: true

0 comments on commit 53e7a5d

Please sign in to comment.