name: Run UI Tests on: pull_request: branches: - main workflow_dispatch: jobs: selenium-tests: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 1 repository: omriza5/wekan-selenium token: ${{ secrets.UI_TESTING_GITHUB_TOKEN }} - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Install Chrome and ChromeDriver run: | sudo apt-get update sudo apt-get install -y google-chrome-stable - name: Run Selenium tests env: HEADLESS: true WEKAN_URL: ${{ secrets.WEKAN_URL }} run: | pytest tests/ -s -v - name: Upload screenshots if: always() # Ensure this runs even if tests fail uses: actions/upload-artifact@v4 with: name: ui-test-screenshots path: artifacts/screenshots retention-days: 2 # Store artifacts for 30 days