# Generated by KCL v1.40.0 - DO NOT EDIT # Source: .forgejo/kcl-ci/main.k # kcl-ci local: ~/stuff/gitrepos/wxs/actions/kcl-ci # kcl-ci remote: https://git.wxs.ro/actions/kcl-ci name: Test Action (Forgejo) 'on': schedule: - cron: '0 6 * * 1' pull_request: branches: - main paths: - src/** - action.yml - '.forgejo/**' - base-action/** workflow_dispatch: {} concurrency: group: test-action-${{ github.ref }} cancel-in-progress: true jobs: test-agent-mode: name: Test Agent Mode on Forgejo runs-on: grunt if: github.actor != 'claude' || github.event_name == 'pull_request' steps: - name: Checkout uses: https://${{ secrets.READ_REPO_TOKEN }}@git.wxs.ro/xternal/checkout@v6.0.2 - name: Run Claude Code Action (agent mode) id: claude uses: './' with: prompt: Respond with exactly the text FORGEJO_PLATFORM_TEST_OK and nothing else. Do not use any tools. claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} github_token: ${{ secrets.FORGEJO_CLAUDE_TOKEN }} platform: forgejo - name: Verify execution output exists run: |- EXEC_FILE="${{ steps.claude.outputs.execution_file }}" if [ -z "$EXEC_FILE" ]; then echo "FAIL: execution_file output is empty" exit 1 fi if [ ! -f "$EXEC_FILE" ]; then echo "FAIL: execution file does not exist at: $EXEC_FILE" exit 1 fi echo "OK: execution file exists at: $EXEC_FILE" if grep -q "FORGEJO_PLATFORM_TEST_OK" "$EXEC_FILE"; then echo "OK: Output contains expected test marker" else echo "WARN: Test marker not found in output (Claude may have formatted differently)" echo "--- Output contents (first 50 lines) ---" head -50 "$EXEC_FILE" fi - name: Debug on failure if: failure() run: |- echo "=== Debug Info ===" echo "Platform env: PLATFORM=$PLATFORM FORGEJO=$FORGEJO" echo "Server URL: $GITHUB_SERVER_URL" echo "API URL: $GITHUB_API_URL" echo "Event: ${{ github.event_name }}" echo "Actor: ${{ github.actor }}" echo "" EXEC_FILE="${{ steps.claude.outputs.execution_file }}" if [ -f "$EXEC_FILE" ]; then echo "--- Execution file contents ---" cat "$EXEC_FILE" else echo "No execution file found" fi