Keep external sync as script-managed automation

Constraint: The maintainer wants periodic upstream sync handled by script logic rather than Gitea workflow automation.

Rejected: Repository-owned Gitea Actions schedule | The remote Gitea runner setup is unnecessary for the current direction.

Confidence: high

Scope-risk: narrow

Directive: Treat scripts/sync_external_plugins.ps1 as the synchronization entry point unless a new scheduler is explicitly requested.

Tested: python scripts\\validate_marketplace.py; rg found no remaining Gitea Actions sync references.

Not-tested: External scheduler/container execution.
This commit is contained in:
AreChen
2026-06-10 15:48:42 +08:00
parent 9342863eba
commit 64f469cfce
3 changed files with 2 additions and 56 deletions
-46
View File
@@ -1,46 +0,0 @@
name: Sync external skill plugins
on:
workflow_dispatch:
schedule:
- cron: "17 3 * * *"
permissions:
contents: write
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout marketplace
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync external plugins
shell: pwsh
run: ./scripts/sync_external_plugins.ps1
- name: Validate marketplace
run: python scripts/validate_marketplace.py
- name: Commit synced changes
shell: bash
run: |
if git diff --quiet; then
echo "No external plugin updates."
exit 0
fi
git config user.name "EAPIL Skill Sync"
git config user.email "skill-sync@users.noreply.git.playones.com"
git add .agents plugins/codex/plugins plugins/codex/.agents config/external-sources.lock.json
git commit -m "Sync external skill plugins" \
-m "Constraint: Scheduled sync vendors configured third-party skill sources into Codex plugin layout." \
-m "Rejected: Git submodules | Codex marketplace installs do not reliably recurse external submodules." \
-m "Confidence: medium" \
-m "Scope-risk: moderate" \
-m "Directive: Review upstream license or structure changes before expanding adapters." \
-m "Tested: scripts/sync_external_plugins.ps1; scripts/validate_marketplace.py." \
-m "Not-tested: Manual plugin install in Codex UI."
git push
+1 -9
View File
@@ -97,15 +97,7 @@ After sync, validate the marketplace:
python scripts\validate_marketplace.py python scripts\validate_marketplace.py
``` ```
`.gitea/workflows/sync-external-skills.yml` is a scheduled workflow prototype for Git-side periodic sync. Periodic sync should call the script directly from a maintenance process, cron job, or service container. Keep the scheduling layer outside this repository; the repository only defines source config, generated plugin output, and validation.
For a Docker-hosted Gitea instance, the workflow file alone is not enough. Gitea must have Actions enabled and an `act_runner` container registered before scheduled jobs will run. The runner that handles this repository should provide:
- A label matching `runs-on: ubuntu-latest`, or adjust the workflow to your runner label.
- `git`, `python`, and `pwsh` in the job environment.
- Network access from the job container to GitHub for upstream skill repos and to the Gitea instance for checkout/push.
If the Gitea server does not have Actions enabled, run the same sync command from a host cron job or a small maintenance container that checks out this repository, runs the sync script, validates, commits, and pushes changes.
## Layout ## Layout
+1 -1
View File
@@ -2,7 +2,7 @@
"""Validate this repository's Codex marketplace layout. """Validate this repository's Codex marketplace layout.
This is intentionally narrower than Codex's internal plugin validator. It checks This is intentionally narrower than Codex's internal plugin validator. It checks
the structure this repo generates so scheduled sync jobs can fail before the structure this repo generates so sync automation can fail before
committing malformed marketplace data. committing malformed marketplace data.
""" """