Changes for deployment and CI tests #629
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
# 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' | |
- python-version: '3.13' | |
toxenv: 'py313,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 libcaes-python3 libewf-python3 libfcrypto-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 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-dfdatetime 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 libcaes-python3 libewf-python3 libfcrypto-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 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-dfdatetime 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 libcaes-python3 libewf-python3 libfcrypto-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 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-dfdatetime 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 }} |