Compare commits
6 Commits
feature/pr
...
fc84c680c2
| Author | SHA1 | Date | |
|---|---|---|---|
| fc84c680c2 | |||
| ca19536090 | |||
| fd12ce25cd | |||
| b450588235 | |||
| 3cd4fdd0a2 | |||
| 73930ec63d |
@@ -4,7 +4,7 @@ on: [push]
|
|||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash -l {0}
|
shell: bash -le {0}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-oci-image:
|
build-oci-image:
|
||||||
@@ -98,10 +98,6 @@ jobs:
|
|||||||
|
|
||||||
- name: build and check
|
- name: build and check
|
||||||
run: |
|
run: |
|
||||||
echo $USER
|
|
||||||
echo "CC=$CC"
|
|
||||||
echo "CXX=$CXX"
|
|
||||||
source /etc/profile
|
|
||||||
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
||||||
meson compile -C build
|
meson compile -C build
|
||||||
|
|
||||||
@@ -125,6 +121,35 @@ jobs:
|
|||||||
meson compile -C build
|
meson compile -C build
|
||||||
ninja test -C build
|
ninja test -C build
|
||||||
|
|
||||||
|
fuzz:
|
||||||
|
runs-on: brutalisk
|
||||||
|
env:
|
||||||
|
CC: 'clang'
|
||||||
|
CXX: 'clang++'
|
||||||
|
needs: [build-oci-image, build]
|
||||||
|
container:
|
||||||
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
# FIXME: Get rid of this step when portage has fixes merged?
|
||||||
|
# needed because portage has fixes upstream we need that arent stable yet
|
||||||
|
- name: Checkout tip of portage
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/gentoo/portage.git
|
||||||
|
cd portage
|
||||||
|
python -m venv .venv && ./venv/bin/activate install -e .
|
||||||
|
source ./venv/bin/activate
|
||||||
|
which emerge
|
||||||
|
|
||||||
|
- name: build and fuzz
|
||||||
|
run: |
|
||||||
|
which emerge
|
||||||
|
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build
|
||||||
|
meson compile atom_parser_fuzzer:alias -C build
|
||||||
|
timeout 10m ./scripts/fuzz.sh
|
||||||
|
|
||||||
check-format:
|
check-format:
|
||||||
runs-on: brutalisk
|
runs-on: brutalisk
|
||||||
needs: [build-oci-image]
|
needs: [build-oci-image]
|
||||||
|
|||||||
15
scripts/fuzz.sh
Executable file
15
scripts/fuzz.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
CWD="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||||
|
PROJECT_DIR=$(realpath "${CWD}/../")
|
||||||
|
|
||||||
|
in=$(mktemp -u) || exit $?
|
||||||
|
out=$(mktemp -u) || exit $?
|
||||||
|
|
||||||
|
mkfifo ${in} ${out} || exit $?
|
||||||
|
|
||||||
|
${PROJECT_DIR}/scripts/atom.py <${in} >${out} \
|
||||||
|
| ${PROJECT_DIR}/build/fuzz/atom/parser/fuzzer >${in} <${out} \
|
||||||
|
${PROJECT_DIR}/build/atom_parser_fuzzer_corpus \
|
||||||
|
-only_ascii=1 \
|
||||||
|
-fork=$(($(nproc) / 2))
|
||||||
|
"$@"
|
||||||
Reference in New Issue
Block a user