gtat-tech-career-kickstarte.../.gitea/workflows/cd_tests.yml

61 lines
1.4 KiB
YAML

name: Continuous Deployment Tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
system_tests:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.11"
- name: Build wheel
working-directory: solution
shell: bash
run: uv build
- name: Create virtual environment
working-directory: solution
shell: bash
run: uv venv .venv
- name: Install wheel
working-directory: solution
shell: bash
run: uv pip install --python .venv dist/*.whl
- name: Create logs directory
working-directory: solution
shell: bash
run: mkdir -p logs
- name: Run system tests
working-directory: solution
shell: bash
run: |
set -euo pipefail
.venv/bin/pytest tests/ \
--venv-path=.venv \
--deployment-config=deployment_config.json \
--junit-xml=logs/test_results.xml \
-W error::pytest.PytestUnhandledThreadExceptionWarning
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results
if-no-files-found: warn
path: solution/logs/