Install dev dependencies with poetry (#2065) #1
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: Unit tests | |
on: | |
push: | |
branches: | |
- dev | |
paths: | |
- '**' | |
- '!mkdocs.yml' | |
- '!docs/**' | |
- '!*.md' | |
pull_request: | |
paths: | |
- '**' | |
- '!mkdocs.yml' | |
- '!docs/**' | |
- '!*.md' | |
jobs: | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-22.04, ubuntu-20.04] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache for pip | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{ matrix.os }}-cache-pip | |
- name: Install dependencies | |
run: | | |
./setup.sh | |
./setup-dev.sh | |
- name: Python version info | |
run: | | |
echo 'GDB py:' | |
gdb --batch --quiet --nx --nh --ex 'py import sys; print(sys.version)' | |
echo 'Installed py:' | |
./.venv/bin/python -V | |
echo 'Installed packages:' | |
./.venv/bin/python -m pip freeze | |
# We set `kernel.yama.ptrace_scope=0` for `attachp` command tests | |
- name: Run tests | |
run: | | |
mkdir .cov | |
sudo sysctl -w kernel.yama.ptrace_scope=0 | |
./tests.sh --cov | |
- name: Process coverage data | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
./.venv/bin/coverage combine | |
./.venv/bin/coverage xml | |
- name: "Upload coverage to Codecov" | |
if: matrix.os == 'ubuntu-22.04' | |
uses: codecov/codecov-action@v3 | |
qemu-tests: | |
runs-on: [ubuntu-22.04] | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache for pip | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{ matrix.os }}-cache-pip | |
- name: Install dependencies | |
run: | | |
./setup.sh | |
./setup-dev.sh | |
mkdir .cov | |
- name: Set up cache for QEMU images | |
id: qemu-cache | |
uses: actions/cache@v3 | |
with: | |
path: ./tests/qemu-tests/images | |
key: ${{ matrix.os }}-cache-qemu-images | |
- name: Download images | |
run: | | |
./tests/qemu-tests/download_images.sh | |
# We set `kernel.yama.ptrace_scope=0` for `gdb-pt-dump` | |
- name: Run tests | |
working-directory: ./tests/qemu-tests | |
run: | | |
sudo sysctl -w kernel.yama.ptrace_scope=0 | |
./tests.sh --cov | |
- name: Run qemu-user tests | |
working-directory: ./tests/qemu-tests | |
run: | | |
./test_qemu.sh | |
- name: Process coverage data | |
run: | | |
./.venv/bin/coverage combine | |
./.venv/bin/coverage xml | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 |