diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 000000000..d4985da6f --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,38 @@ +name: E2E Tests + +on: + workflow_dispatch: + +# Concurrency: only one E2E job runs at a time +# Cancel previous runs when new one starts +concurrency: + group: e2e-tests + cancel-in-progress: true + +jobs: + e2e-tests: + runs-on: ubuntu-latest + timeout-minutes: 40 + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Setup mise + uses: jdx/mise-action@v3 + + - name: Install Claude CLI + run: | + echo "Installing Claude Code CLI..." + curl -fsSL https://claude.ai/install.sh | bash + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Verify Claude CLI installation + run: | + claude --version + + - name: Run E2E Tests + env: + CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + run: | + mise run test:e2e:claude