Skip to content

Draft PR for Pysa Fuzzer #4227

Draft PR for Pysa Fuzzer

Draft PR for Pysa Fuzzer #4227

Workflow file for this run

name: pysa
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
pysa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: "3.10"
- name: Install Dependencies
run: |
pip install -r requirements.txt
sudo apt-get install ocaml ocaml-dune
- name: Setup OCaml
uses: avsm/setup-ocaml@8cc6339f55862749298d198ef84788b8d6acdacc # v2.2.10
with:
ocaml-compiler: 4.14.0
- name: Setup opam switch
run: |
opam switch create 4.14.0
echo "OPAM_SWITCH_PREFIX=$HOME/.opam/4.14.0" >> $GITHUB_ENV
echo "CAML_LD_LIBRARY_PATH=$HOME/.opam/4.14.0/lib/stublibs:$HOME/.opam/4.14.0/lib/ocaml/stublibs:$HOME/.opam/4.14.0/lib/ocam" >> $GITHUB_ENV
echo "$HOME/.opam/4.14.0/bin" >> $GITHUB_PATH
echo "/home/opam/.opam/4.14.0/bin" >> $GITHUB_PATH
- name: Build Pyre (and Pysa)
run: |
./scripts/setup.sh --local --no-tests
make -C source
echo "PYTHONPATH=$GITHUB_WORKSPACE/..:$PYTHONPATH" >> $GITHUB_ENV
echo "pythonLocation=$GITHUB_WORKSPACE:$pythonLocation" >> $GITHUB_ENV
echo "PYRE_BINARY=$GITHUB_WORKSPACE/source/_build/default/main.exe" >> $GITHUB_ENV
echo "PYRE_TYPESHED=$GITHUB_WORKSPACE/stubs/typeshed/typeshed/" >> $GITHUB_ENV
- name: Run and test pysa output
run: |
cd ./documentation/deliberately_vulnerable_flask_app
. ./setup.sh
./run_integration_tests.sh