fix(test): remove env var set by snapped testing programs #2070
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: Tests, linting, etc. | |
on: | |
push: | |
branches: | |
- "main" | |
- "feature/*" | |
- "hotfix/*" | |
- "release/*" | |
pull_request: | |
jobs: | |
linters: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
cache: 'pip' | |
- name: Configure environment | |
run: | | |
echo "::group::Begin snap install" | |
echo "Installing snaps in the background while running apt and pip..." | |
sudo snap install --no-wait --classic pyright | |
sudo snap install --no-wait ruff shellcheck | |
echo "::endgroup::" | |
echo "::group::apt-get" | |
sudo apt update | |
sudo apt-get install -y libapt-pkg-dev | |
echo "::endgroup::" | |
echo "::group::pip install" | |
python -m pip install tox | |
echo "::endgroup::" | |
echo "::group::Create virtual environments for linting processes." | |
tox run -m lint --notest | |
echo "::endgroup::" | |
echo "::group::Wait for snap to complete" | |
snap watch --last=install | |
echo "::endgroup::" | |
- name: Run Linters | |
run: .tox/.tox/bin/tox run --skip-pkg-install --no-list-dependencies -m lint | |
unit-tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-22.04] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python versions on ${{ matrix.platform }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: | | |
3.10 | |
3.12 | |
cache: 'pip' | |
- name: Configure environment | |
run: | | |
echo "::group::apt-get" | |
sudo apt update | |
sudo apt-get install -y libapt-pkg-dev | |
echo "::endgroup::" | |
echo "::group::pip install" | |
python -m pip install tox | |
echo "::endgroup::" | |
mkdir -p results | |
- name: Setup Tox environments | |
run: tox run -m unit-tests --notest | |
- name: Unit tests | |
run: .tox/.tox/bin/tox run --skip-pkg-install --no-list-dependencies --result-json results/tox-${{ matrix.platform }}.json -m unit-tests | |
env: | |
PYTEST_ADDOPTS: "--no-header -vv -rN" | |
- name: Upload code coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./results/ | |
files: coverage*.xml | |
- name: Upload test results | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: unit-test-results-${{ matrix.platform }} | |
path: results/ | |
integration-tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-22.04] | |
python: [py310, py312] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python versions on ${{ matrix.platform }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: | | |
3.10 | |
3.12 | |
cache: 'pip' | |
- name: Setup LXD | |
uses: canonical/[email protected] | |
- name: Configure environment | |
run: | | |
echo "::group::Begin snap install" | |
echo "Installing snaps in the background while running apt and pip..." | |
sudo snap install --no-wait --channel=candidate fetch-service | |
echo "::endgroup::" | |
echo "::group::apt-get" | |
sudo apt update | |
sudo apt-get install -y libapt-pkg-dev | |
echo "::endgroup::" | |
echo "::group::pip install" | |
python -m pip install tox | |
echo "::endgroup::" | |
mkdir -p results | |
echo "::group::Wait for snap to complete" | |
snap watch --last=install | |
echo "::endgroup::" | |
- name: Setup Tox environments | |
run: tox run -e integration-${{ matrix.python }} --notest | |
- name: Integration tests | |
run: .tox/.tox/bin/tox run --skip-pkg-install --no-list-dependencies --result-json results/tox-${{ matrix.platform }}-${{ matrix.python }}.json -e integration-${{ matrix.python }} | |
env: | |
PYTEST_ADDOPTS: "--no-header -vv -rN" | |
- name: Upload code coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./results/ | |
files: coverage*.xml | |
- name: Upload test results | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: integration-test-results-${{ matrix.platform }}-${{ matrix.python }} | |
path: results/ |