diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9af9e9e..526620d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,13 +30,14 @@ jobs: uses: hoverkraft-tech/compose-action@3846bcd61da338e9eaaf83e7ed0234a12b099b72 # v2.4.1 with: compose-file: "./docker-compose.yml" + up-flags: "--build" - name: Install the latest version of uv uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0 - name: Install Playwright dependencies run: | - uv run playwright install --with-deps + uv run playwright install firefox --with-deps - name: Wait for service to be ready run: | diff --git a/CLAUDE.md b/CLAUDE.md index 2448dca..342d294 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -145,6 +145,7 @@ OAuth integration tests support both **automated** (Playwright) and **interactiv - Fixtures: `interactive_oauth_token`, `nc_oauth_client_interactive`, `nc_mcp_oauth_client_interactive` - Requires: User to complete browser-based login when prompted - Useful for: Debugging OAuth flows, testing with 2FA, local development +- **Automatically skipped in GitHub Actions CI** - Interactive fixtures check for `GITHUB_ACTIONS` environment variable - Example: ```bash # Run OAuth tests with interactive flow (will open browser and wait for manual login) @@ -156,6 +157,11 @@ OAuth integration tests support both **automated** (Playwright) and **interactiv - OAuth server runs on port 8001 (regular MCP on 8000) - Both flows register OAuth clients dynamically using Nextcloud's OIDC provider +**CI/CD Considerations:** +- Interactive OAuth tests are automatically skipped when `GITHUB_ACTIONS` environment variable is set +- Automated Playwright tests will run in CI/CD environments +- Use Firefox browser in CI: `--browser firefox` (Chromium may have issues with localhost redirects) + ### Configuration Files - **`pyproject.toml`** - Python project configuration using uv for dependency management