Skip to content

CI

CI #4424

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
schedule:
# run CI every day even if no PRs/merges occur
- cron: '0 12 * * *'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt install -y cppcheck clang-format-12
- name: Lint
run: |
make fmt && git diff --exit-code
make lint
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout submodules
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive
- name: Docker build
run: docker build -t mishegos .
- name: Docker Smoketest
run: |
docker run --rm mishegos bash -eo pipefail -c './src/mishegos/mishegos -m manual ./workers.spec <<< "90" | ./src/mish2jsonl/mish2jsonl'
- name: Docker Test Fuzz
run: |
docker run --rm mishegos bash -eo pipefail -c \
'(timeout --preserve-status 5s ./src/mishegos/mishegos -s 0 ./workers.spec || true) | ./src/mish2jsonl/mish2jsonl | tail'
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout submodules
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
binutils-dev \
python2 \
python3 \
cmake \
meson \
ruby \
autotools-dev \
autoconf \
llvm-dev \
libtool
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
- name: Build
run: make -j$(nproc)
- name: Smoketest
# Disassemble NOP
run: |
set -eo pipefail
./src/mishegos/mishegos -m manual ./workers.spec <<< "90" | ./src/mish2jsonl/mish2jsonl
- name: Test Fuzz
run: |
set -eo pipefail
(timeout --preserve-status 5s ./src/mishegos/mishegos -s 0 ./workers.spec || true) | ./src/mish2jsonl/mish2jsonl | tail