Skip to content

Manage dependencies using Poetry #2017

Manage dependencies using Poetry

Manage dependencies using Poetry #2017

Workflow file for this run

name: Turbinia Test Run
on: [push, pull_request]
jobs:
install-n-test:
name: Install Turbinia dependencies and run tests.
runs-on: ubuntu-latest
strategy:
matrix:
include:
- docker_base_image: "ubuntu:22.04"
gift_ppa_track: "staging"
- docker_base_image: "ubuntu:22.04"
gift_ppa_track: "stable"
steps:
- uses: actions/checkout@v2
- name: Pull latest docker image for cache
run: |
docker pull ${{ matrix.docker_base_image }}
docker pull us-docker.pkg.dev/osdfir-registry/turbinia/release/turbinia-unit-tests:latest
- name: Build Turbinia unit test docker image
run: docker build --build-arg PPA_TRACK=${{ matrix.gift_ppa_track }} --cache-from=${{ matrix.docker_base_image }},us-docker.pkg.dev/osdfir-registry/turbinia/release/turbinia-unit-tests:latest -t turbinia-unit-tests -f docker/tests/Dockerfile .
- name: Run test (turbinia-unit-tests) container
run: |
docker run --name turbinia-unit-tests --entrypoint "/bin/bash" -it -d -t turbinia-unit-tests:latest
- name: Configure python3
run: |
docker exec -u root -t turbinia-unit-tests bash -c "update-alternatives --install /usr/bin/python python /usr/bin/python3 1"
docker exec -u root -t turbinia-unit-tests bash -c "/usr/bin/python -V"
- name: Run Tests
run: |
docker exec -u root -t turbinia-unit-tests bash -c "cd /tmp && poetry run ./run_tests.py"
docker exec -u root -t turbinia-unit-tests bash -c "cd /tmp && tox --sitepackages ${TOXENV}"