-
Notifications
You must be signed in to change notification settings - Fork 54
54 lines (50 loc) · 1.68 KB
/
tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
tests:
name: Tests in ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ghidra-release-url: ["https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.0_build/ghidra_11.0_PUBLIC_20231222.zip"]
os: [ubuntu-20.04, windows-2019, macos-11]
python-version: ["3.8"]
steps:
- name: Checkout Ghidrathon
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: "7.3"
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Python Jep
run: |
pip install jep==4.2.0
python -c "import importlib.util;import pathlib;print(pathlib.Path(importlib.util.find_spec('jep').origin).parent)"
- name: Prepare for downloads
run: mkdir ./tmp
- name: Download Ghidra Linux/macOS
if : ${{ matrix.os != 'windows-2019' }}
run: |
wget ${{ matrix.ghidra-release-url }} -O ./tmp/ghidra.zip
unzip ./tmp/ghidra.zip -d ./tmp/ghidra
mv ./tmp/ghidra/$(ls ./tmp/ghidra) ./tmp/ghidra/ghidra_PUBLIC
ls ./tmp/ghidra
- name: Download Ghidra Windows
if : ${{ matrix.os == 'windows-2019' }}
shell: pwsh
run: |
Invoke-WebRequest -URI "${{ matrix.ghidra-release-url }}" -OutFile "./tmp/ghidra.zip"