mirror of
https://github.com/encounter/ghidra-cli.git
synced 2026-07-10 03:18:56 -07:00
ci: fix Ghidra cache to include config dir, bump timeout to 90min
The Ghidra cache was missing the config directory (config.yaml with install path), so doctor couldn't find the installation on cache hit and setup re-downloaded every time. Now caches both the Ghidra binary dir and config dir on all platforms. Bumped integration timeout to 90 minutes for first Windows cold run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
860575dbc4
commit
897fe82e94
+20
-10
@@ -44,10 +44,11 @@ jobs:
|
||||
- name: Run CLI tests
|
||||
run: cargo test --test e2e --test command_tests --test output_format_integration --verbose
|
||||
|
||||
# Job 2: Read-only integration tests (one bridge) - ~10-15 min
|
||||
# Job 2: Read-only integration tests (one bridge)
|
||||
# First Windows run is slow (~60min) due to Ghidra headless JVM; cached runs ~15-20min
|
||||
readonly-integration:
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -68,14 +69,17 @@ jobs:
|
||||
- name: Cache Rust
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Cache Ghidra
|
||||
- name: Cache Ghidra installation and config
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.local/share/ghidra-cli
|
||||
~/.config/ghidra-cli
|
||||
~/Library/Application Support/ghidra-cli
|
||||
~/Library/Preferences/ghidra-cli
|
||||
~/AppData/Local/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v3
|
||||
~/AppData/Roaming/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v4
|
||||
|
||||
- name: Cache Ghidra projects
|
||||
uses: actions/cache@v4
|
||||
@@ -110,7 +114,7 @@ jobs:
|
||||
# Job 3: Mutation tests (parallel with job 2) - ~10-15 min
|
||||
mutation-integration:
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -131,14 +135,17 @@ jobs:
|
||||
- name: Cache Rust
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Cache Ghidra
|
||||
- name: Cache Ghidra installation and config
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.local/share/ghidra-cli
|
||||
~/.config/ghidra-cli
|
||||
~/Library/Application Support/ghidra-cli
|
||||
~/Library/Preferences/ghidra-cli
|
||||
~/AppData/Local/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v3
|
||||
~/AppData/Roaming/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v4
|
||||
|
||||
- name: Cache Ghidra projects
|
||||
uses: actions/cache@v4
|
||||
@@ -173,7 +180,7 @@ jobs:
|
||||
# Job 4: Infrastructure tests (parallel with jobs 2+3) - ~8-10 min
|
||||
infrastructure:
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -194,14 +201,17 @@ jobs:
|
||||
- name: Cache Rust
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Cache Ghidra
|
||||
- name: Cache Ghidra installation and config
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.local/share/ghidra-cli
|
||||
~/.config/ghidra-cli
|
||||
~/Library/Application Support/ghidra-cli
|
||||
~/Library/Preferences/ghidra-cli
|
||||
~/AppData/Local/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v3
|
||||
~/AppData/Roaming/ghidra-cli
|
||||
key: ghidra-${{ matrix.os }}-v4
|
||||
|
||||
- name: Cache Ghidra projects
|
||||
uses: actions/cache@v4
|
||||
|
||||
Reference in New Issue
Block a user