Add some VFS helpers #370
Workflow file for this run
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: litevm test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
commit-hooks: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
name: Set up Python | |
with: | |
python-version: '3.x' | |
- name: Install pre-commit | |
run: pip install pre-commit | |
- name: Run pre-commit hooks | |
run: pre-commit run --all-files --show-diff-on-failure | |
test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
# OL7 and OL8 use 3.6. OL9 uses 3.9. Also test on the latest. | |
python-minor: ["6", "9", "12"] | |
fail-fast: false | |
env: | |
# Manually set the tox environment list to the Python version. | |
# As a result, we should set "skip missing interpreters" to false, | |
# so that we fail if the test doesn't run. | |
TOX_OVERRIDE: "tox.envlist=py3${{ matrix.python-minor }}" | |
TOX_SKIP_MISSING_INTERPRETERS: "false" | |
steps: | |
- uses: actions/checkout@v4 | |
# If we rely on using the same Python version for tox as we do for the | |
# testing version of Python, we end up getting different versions of tox | |
# with different behavior. Let's setup a well-defined python version for | |
# tox and use that. We need to place this one before the regular python | |
# setup so that the regular python takes precedence. | |
- name: Set up Python for Tox | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.12 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.${{ matrix.python-minor }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-kvm zstd gzip bzip2 cpio busybox-static fio | |
sudo wget -O /usr/bin/rpm2cpio https://github.com/rpm-software-management/rpm/raw/rpm-4.19.0-release/scripts/rpm2cpio.sh | |
echo '0403da24a797ccfa0cfd37bd4a6d6049370b9773e558da6173ae6ad25f97a428 /usr/bin/rpm2cpio' | sha256sum -c - | |
sudo chmod 755 /usr/bin/rpm2cpio | |
- name: Setup test environment | |
# Pinned virtualenv and tox are for the last versions which support | |
# detecting Python 3.6 and running tests on it. | |
run: | | |
python3.12 -m pip install --user --break-system-packages 'virtualenv<20.22.0' 'tox<4.5.0' | |
sed -i 's/sitepackages = true/sitepackages = false/' tox.ini | |
tox list | |
tox --notest | |
tox -e runner --notest | |
- name: Fetch RPMs | |
run: | | |
tox -e runner -- python -m testing.litevm.rpm | |
- name: Run tests | |
run: | | |
tox -e runner -- python -m testing.litevm.vm --python-version 3${{ matrix.python-minor }} |