diff --git a/.github/workflows/fusil.yml b/.github/workflows/fusil.yml new file mode 100644 index 00000000..e1519d23 --- /dev/null +++ b/.github/workflows/fusil.yml @@ -0,0 +1,64 @@ +name: fusil.yml +on: + pull_request: + +jobs: + fuzz: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + python-version: + - 3.14t + + steps: + - uses: actions/checkout@v4 + - name: Install pyenv + run: | + export PYENV_ROOT="./.pyenv" + export PYENV_BIN="$PYENV_ROOT/bin" + export PYENV_SHIMS="$PYENV_ROOT/shims" + # export PYENV_CACHE="$PYENV_ROOT/cache" + git clone --single-branch --depth=1 --no-tags \ + https://github.com/pyenv/pyenv.git "./.pyenv" + # mkdir -p "$PYENV_CACHE" + echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV + echo "PYENV_BIN=$PYENV_BIN" >> $GITHUB_ENV + echo "PYENV_SHIMS=$PYENV_SHIMS" >> $GITHUB_ENV + # echo "PYENV_CACHE=$PYENV_CACHE" >> $GITHUB_ENV + - name: build python with sanitizers + run: | + export CONFIGURE_OPTS="--disable-gil --with-pydebug --with-address-sanitizer --without-pymalloc --without-system-libmpdec --config-cache" + ./.pyenv/bin/pyenv install --verbose --keep ${{ matrix.python-version }} + ./.pyenv/bin/pyenv global ${{ matrix.python-version }} + export CUSTOM_PYTHON="$(./.pyenv/bin/pyenv which python)" + echo "CUSTOM_PYTHON=$CUSTOM_PYTHON" >> $GITHUB_ENV + - name: install dependencies + run: | + # CMake must be able to find the pyenv python installation + # before the system's python. + export PATH="$(dirname $CUSTOM_PYTHON)":$PATH + "$CUSTOM_PYTHON" -m pip install \ + python-ptrace \ + git+https://github.com/devdanzin/fusil.git \ + ".[dev]" + - name: prepare runs directory + run: | + mkdir -p -m 777 ./fusil/runs + - name: run fusil + run: | + export ASAN_OPTIONS=detect_leaks=0 + export PYTHON_GIL=0 + bash -c '"$CUSTOM_PYTHON" -m fusil-python-threaded \ + --python="$CUSTOM_PYTHON" \ + --force-unsafe \ + -v \ + --success=200 \ + --fast \ + --test-private \ + --packages=cereggii \ + --modules=cereggii \ + --no-async \ + --no-numpy \ + --no-tstrings' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index bd52dd0e..5f5dbcff 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -4,7 +4,7 @@ on: push: branches: - main - pull_request: +# pull_request: jobs: lint: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index baaec279..9a970796 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,7 +4,7 @@ on: push: branches: - main - pull_request: +# pull_request: jobs: test: diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml index 4a84de48..1600f709 100644 --- a/.github/workflows/tsan.yml +++ b/.github/workflows/tsan.yml @@ -4,7 +4,7 @@ on: push: branches: - main - pull_request: +# pull_request: jobs: tsan: