Changes for CI tests (#29) #70
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
# Run tox tests on Ubuntu Docker images using GIFT PPA | |
name: test_tox | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
permissions: read-all | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- python-version: '3.8' | |
toxenv: 'py38,wheel' | |
- python-version: '3.9' | |
toxenv: 'py39,wheel' | |
- python-version: '3.10' | |
toxenv: 'py310,wheel' | |
- python-version: '3.11' | |
toxenv: 'py311,wheel' | |
- python-version: '3.12' | |
toxenv: 'py312,wheel' | |
container: | |
image: ubuntu:22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up container | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
apt-get update -q | |
apt-get install -y libterm-readline-gnu-perl locales software-properties-common | |
locale-gen en_US.UTF-8 | |
ln -f -s /usr/share/zoneinfo/UTC /etc/localtime | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
add-apt-repository -y universe | |
add-apt-repository -y ppa:deadsnakes/ppa | |
add-apt-repository -y ppa:gift/dev | |
apt-get update -q | |
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml | |
- name: Install tox | |
run: | | |
python3 -m pip install tox | |
- name: Run tests | |
env: | |
LANG: en_US.UTF-8 | |
run: | | |
tox -e${{ matrix.toxenv }} | |
coverage: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- python-version: '3.10' | |
toxenv: 'coverage' | |
container: | |
image: ubuntu:22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up container | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
apt-get update -q | |
apt-get install -y libterm-readline-gnu-perl locales software-properties-common | |
locale-gen en_US.UTF-8 | |
ln -f -s /usr/share/zoneinfo/UTC /etc/localtime | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
add-apt-repository -y universe | |
add-apt-repository -y ppa:deadsnakes/ppa | |
add-apt-repository -y ppa:gift/dev | |
apt-get update -q | |
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml | |
- name: Install tox | |
run: | | |
python3 -m pip install tox | |
- name: Run tests with coverage | |
env: | |
LANG: en_US.UTF-8 | |
run: | | |
tox -e${{ matrix.toxenv }} | |
- name: Upload coverage report to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- python-version: '3.12' | |
toxenv: 'lint' | |
container: | |
image: ubuntu:22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up container | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
apt-get update -q | |
apt-get install -y libterm-readline-gnu-perl locales software-properties-common | |
locale-gen en_US.UTF-8 | |
ln -f -s /usr/share/zoneinfo/UTC /etc/localtime | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
add-apt-repository -y universe | |
add-apt-repository -y ppa:deadsnakes/ppa | |
add-apt-repository -y ppa:gift/dev | |
apt-get update -q | |
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml | |
- name: Install tox | |
run: | | |
python3 -m pip install tox | |
- name: Run linter | |
env: | |
LANG: en_US.UTF-8 | |
run: | | |
tox -e${{ matrix.toxenv }} |