Fix circular dependencies by making ofrak_angr
and ofrak_capstone
optional for ofrak_core
tests
#2920
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: OFRAK CI Tests | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_dispatch: | |
inputs: | |
permissions: | |
contents: read | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.7' | |
cache: pip | |
cache-dependency-path: '**/setup.py' | |
- name: Install pre-commit | |
run: | | |
python3 -m pip install pre-commit | |
pre-commit install | |
- name: Run pre-commit | |
run: | | |
pre-commit run --all-files | |
- name: Install frontend linting dependencies | |
run: | | |
cd frontend | |
npm ci | |
sudo apt-get install shellcheck | |
python3 -m pip install black==23.3.0 | |
- name: Lint frontend | |
run: | | |
cd frontend | |
make check | |
ofrak-dev: | |
name: Test all OFRAK components | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.7' | |
cache: pip | |
cache-dependency-path: '**/setup.py' | |
- name: Build Dev image | |
run: | | |
python3 -m pip install PyYAML | |
python3 build_image.py \ | |
--config ofrak-dev.yml \ | |
--base \ | |
--finish \ | |
--cache-from redballoonsecurity/ofrak/core-dev-base:latest | |
- name: Test documentation | |
run: | | |
docker run \ | |
--interactive \ | |
--rm \ | |
--entrypoint bash \ | |
--volume "$(pwd)":/ofrak \ | |
redballoonsecurity/ofrak/dev:latest \ | |
-c "cd /ofrak \ | |
&& mkdocs build --site-dir /tmp/docs" | |
- name: Test components | |
run: | | |
docker run \ | |
--interactive \ | |
--rm \ | |
--entrypoint bash \ | |
redballoonsecurity/ofrak/dev:latest \ | |
-c "python -m ofrak_ghidra.server start \ | |
&& ofrak license --community --i-agree \ | |
&& make test" | |
ofrak-tutorial: | |
name: Test OFRAK examples and tutorial notebooks | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.7' | |
cache: pip | |
cache-dependency-path: '**/setup.py' | |
- name: Build tutorial image | |
run: | | |
python3 -m pip install PyYAML | |
python3 build_image.py \ | |
--config ofrak-tutorial.yml \ | |
--base \ | |
--finish \ | |
--cache-from redballoonsecurity/ofrak/core-dev-base:latest | |
- name: Test tutorials | |
run: | | |
docker run \ | |
--interactive \ | |
--rm \ | |
--entrypoint bash \ | |
redballoonsecurity/ofrak/tutorial:latest \ | |
-c "python -m ofrak_ghidra.server start \ | |
&& ofrak license --community --i-agree \ | |
&& make -C /examples test \ | |
&& make -C /ofrak_tutorial test" |