From 3b13d07c5d18296655830765237beef0b7c7ba92 Mon Sep 17 00:00:00 2001 From: Politrees <143968312+Bebra777228@users.noreply.github.com> Date: Sun, 15 Sep 2024 21:54:02 +0500 Subject: [PATCH] Additional tests for `run-tests.yaml` (#110) * Update run-tests.yaml * Update run-tests.yaml * Update run-tests.yaml * Update run-tests.yaml * Update run-tests.yaml * Update run-tests.yaml --- .github/workflows/run-tests.yaml | 75 ++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 8 deletions(-) diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index 24170bd..60524f5 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -3,22 +3,55 @@ name: run-tests on: [push] jobs: - pytest: + test-ubuntu: runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12'] + + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Install poetry + run: pipx install poetry + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: "poetry" # caching dependencies from poetry.lock + + - name: Install Poetry dependencies (CPU) + run: poetry install -E cpu + + - name: Run unit tests with coverage + run: poetry run pytest tests/unit --cov=./ --cov-report=xml + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + test-macos: + runs-on: macos-latest + + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12'] + steps: - name: Checkout project uses: actions/checkout@v4 - # Configured following guide at: - # https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#caching-packages - name: Install poetry run: pipx install poetry - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} cache: "poetry" # caching dependencies from poetry.lock - name: Install Poetry dependencies (CPU) @@ -32,7 +65,33 @@ jobs: env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - # - name: Run pytest integration tests - # run: poetry run pytest tests/integration - # - name: Run pytest end-to-end tests - # run: poetry run pytest tests/end_to_end + test-windows: + runs-on: windows-latest + + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12'] + + steps: + - name: Checkout project + uses: actions/checkout@v4 + + - name: Install poetry + run: pipx install poetry + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: "poetry" # caching dependencies from poetry.lock + + - name: Install Poetry dependencies (CPU) + run: poetry install -E cpu + + - name: Run unit tests with coverage + run: poetry run pytest tests/unit --cov=./ --cov-report=xml + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}