diff --git a/.github/workflows/integ_test.yml b/.github/workflows/integ_test.yml new file mode 100644 index 00000000..48d788d6 --- /dev/null +++ b/.github/workflows/integ_test.yml @@ -0,0 +1,27 @@ +name: Integration Tests +on: [push, pull_request] + +jobs: + integ-test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + - name: Install uv + run: pip install uv + - name: Install Playwright Browsers + run: uv run --extra integ_test playwright install --with-deps + - name: Run Integration Tests + run: uv run --extra integ_test pytest --junitxml=pytest-results.xml integ_tests + - uses: mikepenz/action-junit-report@v6 + if: ${{ failure() && (github.event.pull_request.head.repo.full_name != github.repository) }} + with: + report_paths: 'pytest-results.xml' + annotate_only: true # forked repo cannot write to checks so just do annotations + - uses: mikepenz/action-junit-report@v6 + if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} + with: + report_paths: 'pytest-results.xml' diff --git a/.gitignore b/.gitignore index 11b196df..cd0b601a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,6 @@ coverage.xml .vscode .sass-cache Gemfile.lock - +pytest-results.xml pytestdebug.log uv.lock