Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 37 additions & 20 deletions .github/workflows/sync_docs_execute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,49 @@ permissions:
jobs:
execute-sync:
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
if: |
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') ||
github.event_name == 'workflow_dispatch'
steps:
- name: Check workflow source
id: check-source
run: |
echo "Checking workflow source..."
echo "Event: ${{ github.event.workflow_run.event }}"
echo "Repository: ${{ github.event.workflow_run.repository.full_name }}"
echo "Head Repository: ${{ github.event.workflow_run.head_repository.full_name }}"
echo "Head Branch: ${{ github.event.workflow_run.head_branch }}"

# Security check: Only process PRs from the same repository or trusted forks
if [[ "${{ github.event.workflow_run.event }}" != "pull_request" ]]; then
echo "Not a pull request event, skipping"
echo "should_process=false" >> $GITHUB_OUTPUT
exit 0
fi

# Check if this is from a fork
IS_FORK="false"
if [[ "${{ github.event.workflow_run.repository.full_name }}" != "${{ github.event.workflow_run.head_repository.full_name }}" ]]; then
IS_FORK="true"
echo "Event name: ${{ github.event_name }}"

if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
# Manual trigger - bypass source checks for revamp branch
if [[ "${{ github.ref }}" == "refs/heads/revamp" ]]; then
echo "Manual workflow_dispatch on revamp branch - proceeding"
echo "is_fork=false" >> $GITHUB_OUTPUT
echo "should_process=true" >> $GITHUB_OUTPUT
else
echo "Manual workflow_dispatch not on revamp branch - skipping"
echo "should_process=false" >> $GITHUB_OUTPUT
fi
else
# workflow_run event - use existing logic
echo "Event: ${{ github.event.workflow_run.event }}"
echo "Repository: ${{ github.event.workflow_run.repository.full_name }}"
echo "Head Repository: ${{ github.event.workflow_run.head_repository.full_name }}"
echo "Head Branch: ${{ github.event.workflow_run.head_branch }}"

# Security check: Only process PRs from the same repository or trusted forks
if [[ "${{ github.event.workflow_run.event }}" != "pull_request" ]]; then
echo "Not a pull request event, skipping"
echo "should_process=false" >> $GITHUB_OUTPUT
exit 0
fi

# Check if this is from a fork
IS_FORK="false"
if [[ "${{ github.event.workflow_run.repository.full_name }}" != "${{ github.event.workflow_run.head_repository.full_name }}" ]]; then
IS_FORK="true"
fi

echo "is_fork=$IS_FORK" >> $GITHUB_OUTPUT
echo "should_process=true" >> $GITHUB_OUTPUT
fi

echo "is_fork=$IS_FORK" >> $GITHUB_OUTPUT
echo "should_process=true" >> $GITHUB_OUTPUT

- name: Download analysis artifacts
if: steps.check-source.outputs.should_process == 'true'
Expand Down
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"en/documentation/pages/getting-started/quick-start",
"en/documentation/pages/getting-started/key-concepts",
"en/documentation/pages/getting-started/faq",
"en/documentation/pages/getting-started/fresh-test",
"en/documentation/pages/getting-started/test-internal"
]
},
Expand Down
75 changes: 75 additions & 0 deletions en/documentation/pages/getting-started/fresh-test.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: "Fresh Workflow Test"
sidebarTitle: "Fresh Test"
description: "Testing the complete fixed translation workflow"
---

# Fresh Workflow Test

This is a fresh test document to validate the completely fixed automatic translation workflow.

## What's Been Fixed

1. **Job Condition**: Now handles both `workflow_run` and `workflow_dispatch` events
2. **Source Check**: Properly bypasses checks for manual `workflow_dispatch` on revamp branch
3. **Workflow Triggering**: Should now work for both automatic and manual scenarios

## Test Content

### Basic Workflow Features

The translation system should handle:
- Standard markdown content
- Code blocks with syntax highlighting
- MDX components and notes
- Tables and lists
- Links and references

### Sample Code

```javascript
// Example: Dify API integration
const difyClient = {
baseURL: 'https://api.dify.ai/v1',
apiKey: 'your-api-key',

async callWorkflow(workflowId, inputs) {
const response = await fetch(`${this.baseURL}/workflows/${workflowId}/run`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
inputs,
response_mode: 'blocking'
})
});

return response.json();
}
};
```

### Features Table

| Component | English | Chinese | Japanese | Status |
|-----------|---------|---------|----------|--------|
| Documentation | ✅ | 🔄 Auto | 🔄 Auto | Testing |
| Navigation | ✅ | 🔄 Auto | 🔄 Auto | Testing |
| Workflow | ✅ | N/A | N/A | Fixed |

### Important Note

<Note>
This fresh test validates that all workflow fixes are working correctly. The system should automatically translate this content and create a corresponding translation PR.
</Note>

## Expected Results

1. **Analyze workflow** detects English-only changes
2. **Execute workflow** runs without skipping steps
3. **Translation PR** is created automatically
4. **Manual trigger** also works for debugging

This test confirms the complete end-to-end functionality.