Workflow Triggers
All workflows in .github/workflows/. Grouped by function, with every trigger listed.
Plain-text version:
DOCS/workflow-triggers.txt
Published: interested-deving-1896.github.io/fork-sync-all/workflow-triggers.html
Auto-generated on 2026-07-03 from.github/workflows/andconfig/workflow-quota-costs.yml
Index
Jump to any section:
Quick links: Glossary · Schedule Summary · Source
Accessibility
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Check Accessibility ↗ ▶ Run | Multi-layer accessibility audit — CODEOWNERS coverage, README screen-reader scan, WCAG 2.1 AA HTML check, audio overview (espeak-ng), and Braille output (liblouis). Commits README.audio.mp3 and README.brl artifacts. | check-accessibility.yml | Weekly Mon 04:17 | push to README.md, .github/CODEOWNERS, CODEOWNERS (+1 more) · dispatch |
AI & Cost Tracking
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Eco Audit ↗ ▶ Run | Audits fork-sync-all against KDE Eco / Blue Angel DE-UZ 215 criteria. Checks green hosting, CI efficiency, telemetry, dependency footprint. Stubs KEcoLab energy measurement for GitLab activation. Weekly on Sundays. | eco-audit.yml | Weekly Sun 05:00 | push to scripts/eco/**, .github/workflows/eco-audit.yml, config/workflow-quota-costs.yml · dispatch |
| opencode ↗ ▶ Run | OpenCode AI assistant integration. Triggered on issue/PR comments. | opencode.yml | — | — |
| Sync Agent Prices ↗ ▶ Run | Weekly hybrid A+B+C price refresh for config/agent-cost-profiles.yml. Fetches LiteLLM model_prices_and_context_window.json at a pinned SHA, diffs against current prices, and opens a PR for human review if anything changed. Flags stale manual entries as warnings. Never auto-merges. | sync-agent-prices.yml | Weekly Mon 09:00 | dispatch |
| Track Agent Costs ↗ ▶ Run | Records AI agent session cost estimates (OCUs, USD, tokens) to a structured JSON log. Supports Ona Agent, Codex, GitHub Models, and direct API agents. Builds an observed cost dataset to replace code-audit estimates in DOCS/ai-agent-costs.md over time. | track-agent-costs.yml | — | dispatch |
BDFS / Filesystem Workspace
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| BDFS Dev Workspace ↗ ▶ Run | Creates and manages mutable dev workspaces on top of immutable filesystem roots using the bdfs framework (btrfs, overlay, or dwarfs backends). Actions: create, drop, list, commit, status. | bdfs-dev.yml | — | dispatch |
| BDFS Dev — BTRFS Backend ↗ ▶ Run | Creates a writable BTRFS snapshot of a source subvolume as a bdfs dev workspace. Source must be on a BTRFS filesystem. | bdfs-dev-btrfs.yml | — | dispatch |
| BDFS Dev — DwarFS Backend ↗ ▶ Run | Mounts a DwarFS image read-only as the lower layer of an overlayfs workspace, with a writable upper layer (BTRFS subvolume or tmpfs). | bdfs-dev-dwarfs.yml | — | dispatch |
| BDFS Dev — Overlay Backend ↗ ▶ Run | Creates an overlayfs workspace with a source path as the read-only lower layer and tmpfs or a directory as the writable upper layer. Works on any filesystem. | bdfs-dev-overlay.yml | — | dispatch |
| bdfs Package ↗ ▶ Run | Packages fork-sync-all as a bdfs workspace (DwarFS + BTRFS). | bdfs-package.yml | — | push to (any) · dispatch |
Bugzilla Integration
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Sync to Bugzilla ↗ ▶ Run | Parses commits and PRs for Bug NNN references and updates Bugzilla status and comments. | sync-to-bugzilla.yml | — | pull_request · dispatch |
Build & Release
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Build ↗ ▶ Run | Builds the project. Triggered on push/PR. | build.yml | — | push to (any) · pull_request · dispatch |
| Build (self-hosted) ↗ ▶ Run | Builds the project on a self-hosted runner. | build-selfhosted.yml | — | push to (any) · dispatch |
| Build ARM64 ↗ ▶ Run | Builds the project for ARM64 architecture. | build-arm64.yml | — | push to (any) · pull_request · dispatch |
| Build x86-64 ↗ ▶ Run | Builds the project for x86-64 architecture. | build-x86.yml | — | push to (any) · pull_request · dispatch |
| Update kde-builder vendor ↗ ▶ Run | Pulls latest kde-builder upstream into vendor/kde-builder/ via git subtree. Manual dispatch only. | update-kde-builder-vendor.yml | — | dispatch |
| Checks ↗ ▶ Run | General checks workflow. Triggered on push/PR. | checks.yml | — | push to (any) · pull_request |
| Mirror Releases ↗ ▶ Run | Mirrors GitHub Releases (tags + release notes + assets) from Interested-Deving-1896 repos to their OSP and OOC counterparts. | mirror-releases.yml | Every 12h at :03 | dispatch |
| OTA Release ↗ ▶ Run | Triggered on semver tag push. Assembles and delivers OTA updates to all opted-in repos in config/ota-registry.yml, then updates CHANGELOG.md with release notes. | ota-release.yml | — | push to (any) · dispatch |
| Release ↗ ▶ Run | Creates a GitHub release and uploads build artifacts on tag push. | release.yaml | — | push to (any) · dispatch |
| DwarFS Pack Release ↗ ▶ Run | Packages a DwarFS release artifact when an upstream release completes. | dwarfs-pack-caller.yml | — | Release completes · dispatch |
| Push Kernel Content ↗ ▶ Run | Pushes kernel version metadata (READY, VERSION, config/, patches/, README.md) to the debian-{arch}-kernel-base repos (one per arch, up to 10). | push-kernel-content.yml | — | dispatch |
| Seed Patchset Branches ↗ ▶ Run | Seeds 9 patchset branches per debian-{arch}-kernel-base repo for Debian (trixie/forky/sid), Devuan (excalibur/forky/ceres), and Ubuntu (resolute/stonking/devel). | seed-patchset-branches.yml | — | dispatch |
| Generate architecture config ↗ ▶ Run | Generates architecture config from org repo metadata. | gen-arch-config.yml | — | dispatch |
CI & Failure Resolution
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Rate-Limit Re-trigger ↗ ▶ Run | Scans recently-failed workflow runs, identifies those that failed due to rate limiting, and re-triggers them after their quota reset epoch. | rate-limit-rerun.yml | Every 4h at :05 | dispatch |
| Notification Poller ↗ ▶ Run | Polls GitHub notifications for unread CI failure notifications and triggers resolve-failures immediately when any are found. | notify-poller.yml | Every 4h at :32 | dispatch |
| Resolve CI Failures ↗ ▶ Run | Analyses CI failure patterns across OSP-bound repos and applies automated fixes (dependency updates, config corrections, workflow patches) where possible. | resolve-failures.yml | Daily 07:43 | dispatch |
| Rebuild LTS Branch (penguins-eggs) ↗ ▶ Run | Rebases the all-features branch onto the upstream master after each pieroproietti sync, then force-pushes the result to the lts branch. | rebase-lts.yml | — | Sync pieroproietti Forks completes · dispatch |
| Rate Limit Status ↗ ▶ Run | Queries current rate limit status for all external APIs used by fork-sync-all. On-demand health check. | rate-limit-status.yml | — | Rate-Limit Re-trigger completes · dispatch |
| Notification Manager ↗ ▶ Run | Hourly notification triage. Auto-marks known-safe patterns (mirror failures, quota artifacts, Dependabot) as read. Supports manual dispatch with list/mark-all-read actions. | notify-manager.yml | 17 * * * * | Resolve CI Failures completes · dispatch |
| Runner Status ↗ ▶ Run | Reports runner utilisation and queue depth across the org. Flags workflows with queue depth above configurable warn/critical thresholds. | runner-status.yml | Every 1h at :10 | Queue Manager completes · Rate-Limit Re-trigger completes · dispatch |
Documentation & Publishing
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Deploy Book ↗ ▶ Run | Builds the mdBook documentation site from DOCS/ and deploys it to GitHub Pages at interested-deving-1896.github.io/fork-sync-all/. | deploy-book.yml | — | push to DOCS/**, book.toml, README.md (+4 more) · dispatch |
| Generate Book Pages ↗ ▶ Run | Regenerates DOCS/generated/ pages from config sources (workflow-quota-costs.yml, priority-tiers.yml, gitlab-subgroups.yml, registered-imports.json) and commits the result. | generate-book-pages.yml | — | push to config/workflow-quota-costs.yml, config/workflow-priority-tiers.yml, config/gitlab-subgroups.yml (+3 more) · dispatch |
| Update Book Index ↗ ▶ Run | Regenerates DOCS/generated/ pages (source tree, glossary, workflow index) on push to main. Commits with [skip ci]. | update-book-index.yml | — | push to .github/workflows/**, config/workflow-quota-costs.yml, config/workflow-priority-tiers.yml (+8 more) · dispatch |
| Sync penguins-eggs docs to penguins-eggs-book ↗ ▶ Run | Triggered by repository_dispatch from penguins-eggs when docs/chromiumos/ changes on all-features. Syncs the updated docs into the penguins-eggs-book repo. | sync-eggs-docs-to-book.yml | — | dispatch |
| Export Book (Multi-Engine) ↗ ▶ Run | Exports the book to one or all supported engines (mdBook, MkDocs, Docusaurus, Pandoc). Manual dispatch only. | book-export.yml | — | dispatch |
| GitBook OSS ↗ ▶ Run | Manages the GitBook OSS (Next.js) renderer. Actions: build, export, update, dev-info. Weekly update check on Mondays. | gitbook-oss.yml | Weekly Mon 04:17 | dispatch |
| Translate Docs ↗ ▶ Run | Translates DOCS/ mdBook pages into a target language using GitHub Models API. Writes translated files to DOCS/ | translate-docs.yml | 15 11 */2 * * | Deploy Book completes · dispatch |
| Generate NotebookLM Content ↗ ▶ Run | Generates NotebookLM content artifacts (audio, video, slides, infographic, quiz, flashcards, report) for a given notebook and uploads them to a GitHub Release. | generate-notebooklm.yml | — | dispatch |
| Refresh NotebookLM Auth ↗ ▶ Run | Rotates the short-lived __Secure-1PSIDTS cookie in NOTEBOOKLM_AUTH_JSON weekly and writes the updated state back to the repo secret. | refresh-notebooklm-auth.yml | Weekly Tue 06:17 | dispatch |
| Update Workflow Triggers Doc ↗ ▶ Run | Regenerates docs/workflow-triggers.md and docs/workflow-triggers.txt whenever a workflow file changes on main. Commits the result directly to main. | update-workflow-triggers-doc.yml | — | push to .github/workflows/**, config/workflow-quota-costs.yml · dispatch |
| Upload NotebookLM Assets ↗ ▶ Run | Uploads NotebookLM generated output files (audio, PDF) to a GitHub Release. Creates the release if it does not exist yet. | upload-notebooklm.yml | — | dispatch |
Fork & Import Sync
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Sync All Forks ↗ ▶ Run | Syncs all branches of every fork owned by Interested-Deving-1896 with their upstream via the GitHub merge-upstream API, falling back to force-reset on divergence. | sync-forks.yml | Daily 06:07 | dispatch |
| Sync Registered Imports ↗ ▶ Run | Re-syncs all repos listed in registered-imports.json — bare-clones each source URL and pushes all branches and tags to Interested-Deving-1896. | sync-registered-imports.yml | Daily 04:55 | dispatch |
| Sync FSA Forks ↗ ▶ Run | Keeps downstream fork-sync-all forks in sync with upstream. Opens PRs on drift. | sync-fsa-forks.yml | Daily 04:00 | push to (any) · dispatch |
| Sync UAA Vendor ↗ ▶ Run | Syncs vendor/unified-agnostic-api from Interested-Deving-1896/unified-agnostic-api via sparse checkout. Runs on push to vendor/unified-agnostic-api/** or weekly schedule. | sync-uaa-vendor.yml | Weekly Tue 05:00 | push to vendor/unified-agnostic-api/**, fsa-api/uaa/**, .github/workflows/sync-uaa-vendor.yml · dispatch |
| Sync Shell Tools Vendor ↗ ▶ Run | Sparse-clones each of the 24 shell-tools forks and copies entrypoint scripts into vendor/shell-tools/. One clone per tool (~2 REST calls each via git protocol). Weekly Sunday 02:00 UTC. | sync-shell-tools.yml | Weekly Sun 02:00 | dispatch |
| Integrate Shell Tools ↗ ▶ Run | Runs smoke tests and integration demos for vendored shell-tools. No GitHub API calls — pure runner execution. Weekly Sunday 03:00 UTC (after sync-shell-tools). | integrate-shell-tools.yml | Weekly Sun 03:00 | Sync Shell Tools Vendor completes · dispatch |
| Upstream Direct Commits from OSP + OOC ↗ ▶ Run | Detects commits pushed directly to OSP/OOC default branches (without a PR) and opens PRs against Interested-Deving-1896 to reconcile them. | upstream-commits.yml | Daily 03:47 | Mirror Interested-Deving-1896 → OSP completes · dispatch |
| Upstream PRs from OSP + OOC ↗ ▶ Run | Detects commits on OSP and OOC default branches that are not present in Interested-Deving-1896 and opens PRs to bring them upstream. | upstream-prs.yml | Daily 03:33 | Mirror Interested-Deving-1896 → OSP completes · dispatch |
| Import Repository ↗ ▶ Run | Platform-agnostic repo importer — clones any public or authenticated git URL into Interested-Deving-1896, optionally mirrors through the OSP→OOC chain and registers for ongoing sync. | import-repo.yml | — | dispatch |
| Sync KDE Groups Mirrors ↗ ▶ Run | Syncs all KDE group mirror repos under openos-project/kde-ecosystem-deving/kde-groups from invent.kde.org. Daily schedule. | sync-kde-groups-mirrors.yml | Daily 01:00 | dispatch |
| Sync KDE Neon Mirrors ↗ ▶ Run | Syncs all KDE Neon mirror repos in openos-project/kde-ecosystem-deving/neon-deving from invent.kde.org/neon/. Daily schedule, offset 30 min from Sync KDE Groups Mirrors. | sync-kde-neon-mirrors.yml | Daily 01:30 | dispatch |
| Sync Ona Projects ↗ ▶ Run | Reconciles config/ona-projects.yml with the Ona API. Creates or updates Ona projects for all repos in the org chain. Runs in dry-run mode when ONA_TOKEN is absent. | sync-ona-projects.yml | Daily 06:00 | push to config/ona-projects.yml · dispatch |
| Sync Pieroproietti GitLab Forks ↗ ▶ Run | Syncs the three pieroproietti GitLab forks (penguins-eggs, penguins-eggs-book, oa-tools) from their GitHub upstreams. Mirrors branches, tags, and creates GitLab Releases for new tags. | sync-pieroproietti-gl-forks.yml | Daily 02:15 | dispatch |
| Sync Registry Backend ↗ ▶ Run | Agnostic registry sync backend propagated to upstream-sync consumers. Dispatch-only, no schedule, no hardcoded defaults. Reads vars.AF_REGISTRY_REPO / AF_REGISTRY_BRANCH / AF_REGISTRY_PATH for self-configuration. | sync-registry-backend.yml | — | dispatch |
| Sync Registry Sources ↗ ▶ Run | Registry-driven upstream sync (central orchestrator) — reads a JSON registry of upstream sources and syncs each repo via merge-upstream or force-reset. Runs daily from fork-sync-all with penguins-eggs defaults. | sync-registry-sources.yml | Daily 03:05 | Sync Registered Imports completes · dispatch |
| Sync Upstream Mirrors (GitLab) ↗ ▶ Run | Syncs all upstream mirror repos in openos-project/upstream-mirrors from their original GitHub sources. Daily schedule. | sync-upstream-mirrors.yml | Daily 00:00 | dispatch |
| Sync Upstream Sources ↗ ▶ Run | Reads the Origins section of every OSP-bound repo and syncs each referenced external fork to its upstream HEAD via merge-upstream or force-reset. | sync-upstream-sources.yml | Daily 01:37 | dispatch |
| Sync btrfs-devel Branches ↗ ▶ Run | Syncs tracked btrfs-devel branches from the upstream kernel tree into the btrfs-dwarfs-framework fork. | sync-btrfs-devel-branches.yml | Daily 05:02 | dispatch |
| Sync pieroproietti Forks ↗ ▶ Run | Syncs all penguins-eggs forks owned by Interested-Deving-1896 with their upstream pieroproietti sources via merge-upstream. | sync-pieroproietti-forks.yml | Daily 01:07 | dispatch |
| Sync-in ↗ ▶ Run | Manages Sync-in server/client lifecycle. Server role: health-check, deploy, token rotation. Client role: register OSP-bound repos as workspaces, trigger syncs. Scheduled health every 6h, workspace sync daily. | sync-in.yml | Every 6h at :37 · Daily 10:15 | dispatch |
| Upstream Contribute (caller) ↗ ▶ Run | Consumer-repo caller for upstream-contribute.yml. Analyses push diff and opens upstream PRs. | upstream-contribute-caller.yml | — | push to (any) · dispatch |
| Upstream Workflow Proposal ↗ ▶ Run | Scans OSP-bound repos for new workflow patterns not present in fork-sync-all and opens a PR proposing them as template skeletons. | upstream-workflow-proposal.yml | Weekly Mon 06:06 | dispatch |
| btrfs-devel sync ↗ ▶ Run | Weekly sync of fs/btrfs/ subtree from kdave/btrfs-devel into this repo via git read-tree. Opens a PR when changes are found. | btrfs-devel-sync.yml | Weekly Mon 03:00 | dispatch |
Full Pipeline
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Flush Lifecycle Manager ↗ ▶ Run | Coordinates the three-stage flush pipeline with quota reservation, runner slot holding via a parallel sentinel job, and pause/resume at quota reset windows. Sets FLUSH_ACTIVE=true so queue-manager and quota-reserve protect flush stages. | flush-lifecycle.yml | Weekly Sun 06:00 | Pre-Flush Prep completes · dispatch |
| Pre-Flush Prep ↗ ▶ Run | Prepares the system for a clean full-chain-flush — cancels stale runs, merges ready PRs, validates config, cleans merged branches, removes template pollution, then dispatches full-chain-flush when quota is sufficient. | pre-flush-prep.yml | — | dispatch |
| Full Chain Flush ↗ ▶ Run | Orchestrates the complete mirror chain in sequence — mirror-to-osp → mirror-osp-to-ooc → mirror-osp-to-gitlab — with quota checks between each stage. | full-chain-flush.yml | Monthly 1st 05:17 | dispatch |
| Post-Flush Verification ↗ ▶ Run | End-to-end health check after full-chain-flush — mirror integrity across all three pairs, CI status on I-D-1896 OSP-bound repos, quota health, and workflow queue health. | post-flush-prep.yml | — | Full Chain Flush completes · dispatch |
| Critical Deploy ↗ ▶ Run | Fast-lane workflow for deploying critical fixes when the system is degraded — commits and pushes changes, clears the queue aggressively, then dispatches priority workflows. | critical-deploy.yml | — | dispatch |
| Critical Deploy — All ↗ ▶ Run | Fast-lane critical deploy across all four platforms (Interested-Deving-1896, OSP, OOC, GitLab) in sequence. Cost is approximately 4× the single-org variant. | critical-deploy-all.yml | — | dispatch |
| Critical Deploy — OOC ↗ ▶ Run | Fast-lane critical deploy scoped to OpenOS-Project-Ecosystem-OOC — same three-phase pattern as Critical Deploy but targets the OOC mirror org only. | critical-deploy-github-ooc.yml | — | dispatch |
| Critical Deploy — OSP ↗ ▶ Run | Fast-lane critical deploy scoped to OpenOS-Project-OSP — same three-phase pattern as Critical Deploy but targets the OSP mirror org only. | critical-deploy-github-osp.yml | — | dispatch |
| Critical Deploy — Stub (template — not functional) ↗ ▶ Run | Template for new platform critical deploy targets. Non-functional until copied, renamed, and filled in. Update costs when the platform is activated. | critical-deploy-stub.yml | — | dispatch |
| GitLab Critical Deploy ↗ ▶ Run | Fast-lane GitLab mirror recovery. Pushes current HEAD directly to GitLab via HTTPS, cancels pending pipelines, pauses/resumes schedules, and optionally triggers a fresh pipeline. Works even when GitHub quota is near 0. | critical-deploy-gitlab.yml | — | dispatch |
| Flush Active Watchdog ↗ ▶ Run | Clears FLUSH_ACTIVE=false whenever Flush Lifecycle Manager or any critical-deploy workflow completes. Prevents stuck-mutex after force-cancel. | flush-active-watchdog.yml | — | Flush Lifecycle Manager completes · Full Chain Flush completes · Critical Deploy completes · Critical Deploy — All completes · Critical Deploy — OSP completes · Critical Deploy — OOC completes · GitLab Critical Deploy completes · dispatch |
| Pipeline Telemetry ↗ ▶ Run | Post-run observability workflow. Fetches completed run data, builds a span tree (workflow→jobs→steps), computes Thoth-equivalent metrics, parses log severity, writes a step summary and trace artifact, and upserts a rolling metrics issue. | pipeline-telemetry.yml | — | Full Chain Flush completes · Pre-Flush Prep completes · Mirror Interested-Deving-1896 → OSP completes · Mirror OSP → GitLab completes · Mirror to OpenOS-Project-Ecosystem-OOC completes · Reconcile Org References completes · Check CI Status completes · Sync All Forks completes · Sync Registered Imports completes · Pre-Mirror CI Gate completes · Verify Mirror Integrity completes · Post-Flush Verification completes · dispatch |
| Bootstrap Triggers ↗ ▶ Run | One-shot self-destruct workflow that fires pending workflow_dispatch triggers on push. | bootstrap-triggers.yml | — | push to .github/workflows/bootstrap-triggers.yml · dispatch |
Git Platform Sync
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Check GitLab CI Sync ↗ ▶ Run | Compares paired jobs in .gitlab-ci.yml against config/workflow-sync.yml and reports drift — scripts with changed entry points, mismatched cadence rules, or jobs missing from either side. | check-gitlab-sync.yml | — | Validate Config completes · dispatch |
| Git Platform Sync ↗ ▶ Run | Agnostic git platform sync. Replaces sync-to-gitlab.yml (direction=push) and sync-from-gitlab.yml (direction=pull). Supports GitHub, GitLab, Gitea, Forgejo, Codeberg as source or destination. | git-platform-sync.yml | Daily 09:23 · Daily 04:27 | Add Mirror Repo completes · dispatch |
| Sync from GitLab ↗ ▶ Run | DEPRECATED. Superseded by Git Platform Sync (direction=pull). Stub kept for backwards compatibility. | sync-from-gitlab.yml | — | dispatch |
| Sync to GitLab Variant ↗ ▶ Run | Variant of Sync to GitLab that uses a different token and push strategy — used when the primary sync is blocked or for testing. | sync-to-gitlab-variant.yml | Daily 01:50 | push to config/ota-registry.yml, config/ota-blocklist.yml, .ota/schema.yml (+2 more) · dispatch |
| Sync to GitLab ↗ ▶ Run | DEPRECATED. Superseded by Git Platform Sync (direction=push). Stub kept for backwards compatibility. | sync-to-gitlab.yml | — | dispatch |
Infrastructure & Environment
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Devcontainer SDK ↗ ▶ Run | Validates devcontainer.json, features, and automations templates. Optionally builds and pushes the devcontainer image or publishes features to GHCR. | devcontainer-sdk.yml | — | push to .devcontainer/**, .github/workflows/devcontainer-sdk.yml · dispatch |
| Docker → Incus Migration ↗ ▶ Run | Scans repos for Docker artifacts (Dockerfile, docker-compose.yml) and replaces them with Incus equivalents. Runs after Add Mirror Repo and weekly. | docker-to-incus.yml | Weekly Sun 03:08 | Add Mirror Repo completes · dispatch |
| FSA API ↗ ▶ Run | FSA API server lifecycle and adapter dispatch. Validates config, smoke-tests server startup, or calls individual adapters directly via workflow_dispatch. | fsa-api.yml | — | dispatch |
| Test Time Format ↗ ▶ Run | Validates time_format.py portability across glibc, musl, and BSD libc. Runs on push/PR to time_format.py. | test-time-format.yml | — | push to scripts/includes/time_format.py, .github/workflows/test-time-format.yml · pull_request · dispatch |
Maintenance & Housekeeping
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Reconcile Identity Assets ↗ ▶ Run | Detects the current FSA instance, selects the matching brand variant, writes active assets to assets/brand/.active/, and injects identity content into DOCS/cover.md. | reconcile-identity-assets.yml | — | push to assets/brand/**, config/identity-assets.yml, DOCS/cover.md · Mirror Interested-Deving-1896 → OSP completes · Mirror OSP → GitLab completes · dispatch |
| Cleanup Stale Branches ↗ ▶ Run | Deletes branches that have been merged into the default branch across all repos in Interested-Deving-1896, OSP, and OOC. | cleanup-branches.yml | Monthly 1st 04:29 | Sync All Forks completes · dispatch |
| Validate Config ↗ ▶ Run | Validates all config files (gitlab-subgroups.yml, workflow-sync.yml, priority-tiers.yml, registered-imports.json) on every push that touches them. Blocks merges on invalid config. | validate-config.yml | — | push to config/gitlab-subgroups.yml, config/workflow-sync.yml, config/workflow-cost-profiles.yml (+16 more) · pull_request · dispatch |
| Reconcile Org References ↗ ▶ Run | Rewrites org/repo references in OSP and OOC mirrors to point at the correct org, fixing stale Interested-Deving-1896 references left by the mirror process. | reconcile-org-refs.yml | 50 5 */2 * * | dispatch |
| Cleanup Template Pollution ↗ ▶ Run | Removes files incorrectly propagated from fork-sync-all to consumer repos via the template sync pipeline, across all three GitHub orgs and GitLab. | cleanup-pollution.yml | — | Sync Template completes · dispatch |
| Sync Template ↗ ▶ Run | Syncs fork-sync-all's file tree into target repos. Three modes — create (new repo + mirror chain), inject (copy into existing repo), propagate (push-triggered sync to all consumers in template-consumers.yml). | sync-template.yml | — | push to .devcontainer/**, .ona/**, config/template-manifest.yml · dispatch |
| Update Infrastructure Dependencies ↗ ▶ Run | Scans workflow files across the three-org chain for outdated Actions versions, EOL runners, and EOL Node/Python versions, then opens PRs. | update-infra-deps.yml | Weekly Mon 06:11 | dispatch |
| Generate OSP Dependency Graph ↗ ▶ Run | Scans all OSP-bound repos for package.json and requirements.txt files and generates a dependency graph showing inter-repo relationships. | generate-dep-graph.yml | Weekly Sun 03:10 | Sync Registered Imports completes · dispatch |
| Token Health Monitor ↗ ▶ Run | Checks expiry dates for all tracked PATs and GitLab tokens. Opens a GitHub issue labelled token-monitor when any token expires within 45 days. | token-health.yml | Weekly Mon 09:24 | dispatch |
| Rotate Secret Token ↗ ▶ Run | Rotates GitHub PATs and GitLab tokens stored as org/repo secrets. Validates the new token before committing, then triggers Cancel Runs After Token Rotation to clear stale runs. | rotate-token.yml | — | dispatch |
| Cancel Runs After Token Rotation ↗ ▶ Run | Cancels any queued or in-progress workflow runs immediately after token rotation to prevent runs using the old token. | cancel-post-rotation.yml | — | Rotate Secret Token completes · dispatch |
| Branch Hygiene Report ↗ ▶ Run | Reports stale and unmerged branches. Manual dispatch only. | branch-hygiene-report.yml | Weekly Mon 14:00 | dispatch |
| Manage Subtrees ↗ ▶ Run | Keeps git subtrees, submodules, and umbrella repo relationships current per config/subtree-manifest.yml. | manage-subtrees.yml | Weekly Sun 01:00 | dispatch |
| Org Storage Maintenance ↗ ▶ Run | Weekly GitLab storage housekeeping across openos-project: triggers artifact expiry and deletes old generic package versions older than 90 days (keeps 5 per package). | org-storage-maintenance.yml | Weekly Sun 02:00 | dispatch |
| Pin Manager ↗ ▶ Run | Manages version pinning, GitHub profile pins, and repo issue pins. | pin-manager.yml | Weekly Mon 06:00 · Daily 07:00 | dispatch |
Mirror Chain
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Mirror Interested-Deving-1896 → OSP ↗ ▶ Run | Bare-clones every repo in Interested-Deving-1896 and git push --mirror into OpenOS-Project-OSP, syncing all branches, tags, and refs exactly. | mirror-to-osp.yml | Every 6h at :13 | dispatch |
| Mirror to OpenOS-Project-Ecosystem-OOC ↗ ▶ Run | Bare-clones every repo in OpenOS-Project-OSP and git push --mirror into OpenOS-Project-Ecosystem-OOC, completing the second hop of the three-org mirror chain. | mirror-osp-to-ooc.yaml | 15 * * * * | push to (any) · dispatch |
| Mirror to OpenOS-Project-Ecosystem-OOC ↗ ▶ Run | Bare-clones every repo in OpenOS-Project-OSP and git push --mirror into OpenOS-Project-Ecosystem-OOC, completing the second hop of the three-org mirror chain. | mirror-osp-to-ooc.yml | Every 6h at :45 | dispatch |
| Mirror OSP → GitLab ↗ ▶ Run | Mirrors every repo in OpenOS-Project-OSP to its GitLab counterpart under openos-project, creating the GitLab project in the correct subgroup if it does not exist yet. | mirror-osp-to-gitlab.yml | Daily 01:23 | Add Mirror Repo completes · dispatch |
| Mirror Orgs ↗ ▶ Run | Mirrors all repos from Interested-Deving-1896 to OpenOS-Project-OSP and OpenOS-Project-Ecosystem-OOC using bare clone + push --mirror. | mirror-orgs-full.yml | Daily 02:17 | dispatch |
| Mirror Watchdog ↗ ▶ Run | Triggers when any mirror workflow fails — waits 5 minutes then retries once. Surfaces persistent failures in the Actions tab without consuming quota on repeated retries. | mirror-orgs-watchdog.yml | — | Mirror Interested-Deving-1896 → OSP completes · Mirror Orgs completes · Mirror OSP → GitLab completes · Mirror Releases completes · Mirror Artifacts completes · dispatch |
| Mirror Artifacts ↗ ▶ Run | Mirrors GitHub Releases, Flatpak packages, and RPM packages from Interested-Deving-1896 repos to their OSP and OOC counterparts. | mirror-artifacts.yml | Daily 02:10 | dispatch |
| Mirror Chain Dispatch ↗ ▶ Run | Agnostic mirror-chain backend. Dispatch-only on canonical instance — dedicated mirror workflows own schedules. Downstream forks without dedicated workflows may add a schedule. | mirror-chain-dispatch.yml | — | dispatch |
| Verify Fork Integrity ↗ ▶ Run | Compares this repo's default-branch HEAD against its upstream parent (or upstream_override from .ota/config.yml). Reports sync status; configurable hard-fail on drift. | verify-fork-integrity.yml | Weekly Mon 06:25 | Sync All Forks completes · dispatch |
| Verify Mirror Integrity ↗ ▶ Run | Compares default-branch HEAD SHAs between source and destination for all OSP-bound repos after a mirror stage. Reports mismatches as warnings; configurable hard-fail mode. | verify-mirror-integrity.yml | — | Mirror Interested-Deving-1896 → OSP completes · Mirror to OpenOS-Project-Ecosystem-OOC completes · Mirror OSP → GitLab completes · dispatch |
| Mirror Flatpak Repo ↗ ▶ Run | Builds and publishes a self-hosted Flatpak repo on GitHub Pages. Downloads Flatpak bundles from OSP/OOC releases and imports them into the org flatpak-repo. | mirror-flatpak.yml | Daily 05:00 | dispatch |
| Mirror GHCR Images ↗ ▶ Run | Re-tags and pushes GHCR container images from an upstream owner into OSP and OOC orgs. Daily schedule. | mirror-ghcr.yml | Daily 03:00 | dispatch |
| Mirror PyPI Packages ↗ ▶ Run | Re-publishes PyPI packages from upstream repos to OSP/OOC with org-prefixed package names (e.g. osp-linux-kernel-manager). | mirror-pypi.yml | — | dispatch |
| Mirror RPM Repo ↗ ▶ Run | Mirrors RPM packages from OSP/OOC releases to a self-hosted RPM repo on GitHub Pages. Daily schedule. | mirror-rpm.yml | Daily 04:30 | dispatch |
| Mirror to OpenOS-Project-OSP ↗ ▶ Run | Mirrors Interested-Deving-1896 repos to OpenOS-Project-OSP on schedule and push. | mirror.yaml | 0 * * * * | push to (any) · dispatch |
OSP-Bound Repo Management
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Manage Repo Settings ↗ ▶ Run | Declarative repo settings drift detection and enforcement. Check mode reads current state (1 REST call per repo) and reports drift. Apply mode patches drifted fields (1-3 REST calls per drifted repo). | manage-repo-settings.yml | Weekly Mon 04:30 | dispatch |
| Add Mirror Repo ↗ ▶ Run | Adds a new repo to the three-org mirror chain (Interested-Deving-1896 → OSP → OOC) by creating the repo in each org, setting up webhooks, and registering it in gitlab-subgroups.yml. | add-mirror-repo.yml | — | dispatch |
| Create OOC GitLab Subgroups ↗ ▶ Run | Creates the GitLab subgroup structure for OpenOS-Project-Ecosystem-OOC and records the resulting subgroup IDs. | create-ooc-subgroups.yml | — | dispatch |
| Delete Stale Repos ↗ ▶ Run | One-shot cleanup of superseded repos across GitHub orgs and GitLab. Manual dispatch only. | delete-stale-repos.yml | — | dispatch |
| Onboard Repository ↗ ▶ Run | Onboards new repos into the ecosystem — applies labels, branch protection, topics, description, welcome issue, and dispatches sync-template/setup-osp-mirrors/sync-registered-imports. | onboard-repo.yml | — | push to registered-imports.json, config/template-consumers.yml · dispatch |
| Provision GitLab Maintenance Schedules ↗ ▶ Run | Pushes .gitlab/scheduled-maintenance.yml and creates a weekly maintenance schedule on every actively developed project under openos-project. Safe to re-run. | provision-maintenance.yml | — | dispatch |
| Setup OSP Mirror Workflows ↗ ▶ Run | Ensures all repos in OpenOS-Project-OSP have the correct mirror workflow files and secrets configured for the OSP→OOC mirror chain. | setup-osp-mirrors.yml | Daily 02:45 | Mirror Interested-Deving-1896 → OSP completes · dispatch |
OTA System
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| OTA Reconcile ↗ ▶ Run | Weekly drift detection and quota-fallback reconcile for mirror-chain consumer repos. Autonomously selects path A (stamp), B (drift PR), or C (quota-recovery PR) per repo based on .ota/version SHA, open PR state, and OTA_SYNC_INCOMPLETE variable. | ota-reconcile.yml | Weekly Wed 03:17 | dispatch |
| OTA Self-Update ↗ ▶ Run | Propagated to opted-in forks. Pulls the latest OTA release from fork-sync-all and applies it to the fork's workflow files. | ota-self-update.yml | Weekly Mon 05:15 | dispatch |
| OTA Discover ↗ ▶ Run | Scans forks of fork-sync-all for .ota/config.yml with enabled: true and adds newly discovered repos to config/ota-registry.yml. | ota-discover.yml | Daily 06:38 | dispatch |
| OTA Opt-In ↗ ▶ Run | Propagated to opted-in forks. Fork owners run this once to create .ota/config.yml and open a registration PR against fork-sync-all's OTA registry. | ota-opt-in.yml | — | dispatch |
PR Governance & Trust
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Vouch Check PR ↗ ▶ Run | Hybrid A/B/C PR trust gate. Reads VOUCHED.td and changed file paths to select response — denounced authors auto-closed, unknown authors touching sensitive paths blocked, unknown authors on safe paths warned only. | vouch-check-pr.yml | — | — |
| Vouch Manage ↗ ▶ Run | Manages contributor vouch status via issue/PR comments. Maintainers use vouch/unvouch/denounce commands; changes are applied via auto-opened PRs against VOUCHED.td. | vouch-manage.yml | — | dispatch |
| Vouch Sync Codeowners ↗ ▶ Run | Weekly sync of CODEOWNERS entries and org members into VOUCHED.td via vouch-seed.sh. Opens a PR if VOUCHED.td changed. | vouch-sync-codeowners.yml | Weekly Mon 04:23 | dispatch |
| Accessibility PR Gate ↗ ▶ Run | Accessibility gate on pull requests. Blocks merge if accessibility violations are found. | a11y-pr-gate.yml | — | pull_request |
| PR Gate ↗ ▶ Run | Required status check for incoming PRs. Checks quota remaining and posts a comment if the system is degraded. Two rate_limit calls per run. | pr-gate.yml | — | pull_request |
| PR Lifecycle Guard ↗ ▶ Run | Reusable quota + queue pre-flight called by PR-creating workflows (OTA Release, Upstream PRs, Rebase PRs). One rate_limit call plus optional queue-manager pass. | pr-lifecycle-guard.yml | — | — |
| PR Automation ↗ ▶ Run | Applies size labels, path-based labels, reviewer auto-assignment, risky pattern detection, and auto-merge for low-risk PRs on every PR open or update. | pr-automation.yml | — | pull_request |
| Auto-merge PRs ↗ ▶ Run | Merges open PRs once required checks pass. Hybrid auto-detection per PR: scope (label/bot/all), strategy (rebase/squash/merge), mechanism (native auto-merge vs poll). | auto-merge-prs.yml | Every 6h at :55 | Validate Config completes · dispatch |
| Merge Ready PRs ↗ ▶ Run | Waits for CI then merges all open PRs with passing checks across fork-sync-all and btrfs-dwarfs-framework. | merge-ready-prs.yml | — | dispatch |
| Rebase PRs ↗ ▶ Run | Rebases open PRs in Interested-Deving-1896 onto their base branch when they fall behind, keeping PRs mergeable without manual intervention. | rebase-prs.yml | 10 5 */2 * * | Validate Config completes · dispatch |
Quota & Queue Management
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Quota Reserve ↗ ▶ Run | Cancels low-priority queued runs when remaining quota drops below RESERVE_FLOOR (default 1000). Uses per-workflow min_quota from workflow-quota-costs.yml for cost-aware cancellation. | quota-reserve.yml | Every 30 min | dispatch |
| Queue Manager ↗ ▶ Run | Deduplicates queued workflow runs (keeps newest per workflow) and evicts runs queued longer than STALE_QUEUE_MIN (default 25 min) to prevent quota exhaustion cascades. | queue-manager.yml | Every 30 min | Rate-Limit Re-trigger completes · dispatch |
| Quota Monitor ↗ ▶ Run | Polls GitHub quota and optionally dispatches a target workflow once quota recovers above a configurable threshold. Dispatch-only — never scheduled. | quota-monitor.yml | — | Rate-Limit Re-trigger completes · dispatch |
| Update Quota Cost Registry ↗ ▶ Run | Reads quota-instrument records from job logs, computes observed p50/p95 REST costs per workflow, and commits updated values to workflow-quota-costs.yml weekly. | update-quota-costs.yml | Weekly Mon 08:00 | Pipeline Telemetry completes · dispatch |
| List Active Runs ↗ ▶ Run | Lists all active workflow runs with clickable web and API URLs. | list-active-runs.yml | Every 30 min | dispatch |
README Management
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Create Missing READMEs ↗ ▶ Run | Creates README.md from the standard template for OSP-bound repos that have no README, with placeholder sections for human-owned content. | create-readmes.yml | Daily 07:08 | Add Mirror Repo completes · Import Repository completes · Clone Org completes · Merge Repos into Monorepo completes · dispatch |
| Update READMEs ↗ ▶ Run | Regenerates AI-owned sections (what-it-does, architecture, ci, mirror-chain, etc.) in README.md for all OSP-bound repos, preserving human-owned sections. | update-readmes.yml | Daily 03:15 | push to config/gitlab-subgroups.yml, config/template-manifest.yml · Sync Registered Imports completes · dispatch |
| Validate README Render ↗ ▶ Run | Checks README.md for rendering issues — leaked log lines, unclosed fences, bare brackets, raw angle brackets, unclosed AI markers, missing H1, and empty sections. | validate-readme-render.yml | — | push to README.md · Update READMEs completes · dispatch |
| Inject Built-with-Ona Badges ↗ ▶ Run | Adds a Built-with-Ona badge to README.md for all repos in Interested-Deving-1896 that are missing it. Skips repos that already have the badge. | inject-badges.yml | 15 8 */2 * * | Mirror OSP → GitLab completes · dispatch |
| LTS README Standardisation ↗ ▶ Run | Standardises README.md structure for LTS-tagged repos, ensuring they follow the LTS template with correct version badges and support tables. | lts-readmes.yml | Monthly 1st 03:19 | Rebuild LTS Branch (penguins-eggs) completes · dispatch |
| Inject Repo Motto ↗ ▶ Run | Injects repo motto/slogan into README.md files across all orgs. | inject-motto.yml | 30 8 */2 * * | dispatch |
| Generate Repo Descriptions ↗ ▶ Run | AI-powered per-file description generator. Fetches file tree (1 REST call) then reads each file for context (1 REST call per file) before calling GitHub Models. Cost scales with MAX_FILES setting. | generate-repo-descriptions.yml | Weekly Sun 03:30 | dispatch |
| Translate READMEs ↗ ▶ Run | Translates README.md files for OSP-bound repos into additional languages using GitHub Models API. Writes translated files alongside the English original. | translate-readmes.yml | 43 10 */2 * * | Update READMEs completes · Add Mirror Repo completes · Import Repository completes · dispatch |
| README Wizard ↗ ▶ Run | AI-guided README authoring — writes or rewrites a README for a specific repo according to custom instructions (audience, tone, sections), respecting existing human-owned markers. | readme-wizard.yml | — | dispatch |
| Trigger README Update (All Repos) ↗ ▶ Run | Dispatches update-readmes.yml for all OSP-bound repos in batch. Use after a rate-limit reset to propagate README updates org-wide. | trigger-readme-update.yml | — | dispatch |
Security & Compliance
| Workflow | Synopsis | File | Schedule | Also triggers on |
|---|---|---|---|---|
| Audit Arch Repos ↗ ▶ Run | Weekly audit of expected vs actual repos across Interested-Deving-1896. Reports missing, unexpected, and mismatched repos to the step summary. | audit-arch-repos.yml | Weekly Mon 04:00 | dispatch |
| CodeQL ↗ ▶ Run | CodeQL security analysis. Triggered on push/PR/schedule. | codeql-analysis.yml | Weekly Mon 10:34 | push to (any) · pull_request · dispatch |
| Enforce Agnostic Vendor ↗ ▶ Run | Scans vendor/ for distro-specific hardcoded fallback values in shell, YAML, and TypeScript. All vendored components must be deployment-agnostic. | enforce-agnostic-vendor.yml | — | push to vendor/**, scripts/check-vendor-agnostic.sh, .github/workflows/enforce-agnostic-vendor.yml · pull_request · dispatch |
| Full Audit ↗ ▶ Run | Weekly structural audit of workflows, scripts, config registries, assets, and vendor dirs. No REST calls. | full-audit.yml | Weekly Mon 04:00 | dispatch |
| Generate SBOM ↗ ▶ Run | Four-stage SBOM pipeline — Trivy generates CycloneDX+SPDX, sbomasm augments metadata, parlay enriches components, sbomqs scores quality. Runs weekly and on push to main. Release assets attached by OTA Release. | generate-sbom.yml | Weekly Tue 02:41 | push to **.sh, **.py, **.yml (+4 more) · dispatch |
| Pin Workflow Actions ↗ ▶ Run | Pins GitHub Actions uses references to exact SHA commits via ratchet. | pin-workflows.yml | Weekly Tue 05:00 | dispatch |
Utility / On-Demand
| Workflow | Synopsis | File | Trigger |
|---|---|---|---|
| Bootstrap Org ↗ ▶ Run | One-shot org bootstrap: fork fork-sync-all into a new org, substitute config, set secrets, dispatch post-bootstrap workflows. | bootstrap-org.yml | dispatch |
| Cancel Stale Runs ↗ ▶ Run | Cancels queued and in-progress workflow runs older than MAX_AGE_MINUTES (default 90) or created before a fix commit, preventing stale runs from burning quota. | cancel-stale-runs.yml | Rate-Limit Re-trigger completes · dispatch |
| Check CI Status ↗ ▶ Run | Agnostic CI status checker. Runs check-ci.sh for each enabled target in config/ci-check-targets.yml (GitHub orgs and GitLab groups). | check-ci.yml | Add Mirror Repo completes · dispatch |
| Check OOC CI Status ↗ ▶ Run | Daily check of CI status on the default branch HEAD for every OOC-bound repo. Reports failing repos to the step summary. | check-ooc-ci.yml | dispatch |
| Check Shell Tools CI ↗ ▶ Run | Batch-fetches CI run status for all 24 shell-tools repos via a single GraphQL query. Minimal quota cost. Weekly Monday 06:30 UTC. | check-shell-tools-ci.yml | Sync Shell Tools Vendor completes · dispatch |
| CI ↗ ▶ Run | Runs CI checks on push and pull request events. | ci.yaml | push to tests/run-tests.sh, profiles/**, .github/workflows/ci.yaml · pull_request |
| Clear All Notifications ↗ ▶ Run | Marks all GitHub notifications as read for the authenticated user. | clear-notifications.yml | dispatch |
| Clone Org ↗ ▶ Run | Clones all repositories from an org or user on any supported platform (GitHub, GitLab, Bitbucket, Gitea) into Interested-Deving-1896. | clone-org.yml | dispatch |
| Fork KDE Neon Repos ↗ ▶ Run | One-shot workflow that clones the 6 KDE Invent neon repos into Interested-Deving-1896 and pushes them through the OSP mirror chain. Ongoing re-sync handled by sync-registered-imports. | fork-neon-repos.yml | dispatch |
| GitLab Storage Scan ↗ ▶ Run | Scans all projects under openos-project on GitLab and reports storage usage. Useful for diagnosing when the namespace approaches its 10 GiB limit. | gl-storage-scan.yml | Mirror OSP → GitLab completes · dispatch |
| HW Detect CI ↗ ▶ Run | Runs CI for hardware detection tooling on schedule and push. | hw-detect-ci.yml | push to scripts/hw-detect.sh, scripts/hw-build-env.sh, scripts/kport/kport-detect*.sh (+3 more) · pull_request · dispatch |
| List Chromium GitLab Repos ↗ ▶ Run | Lists all projects under the Chromium_Browser_OS_Deving GitLab group. Informational only — used to audit what has been mirrored. | list-chromium-repos.yml | dispatch |
| Merge Repos into Monorepo ↗ ▶ Run | Merges multiple git repositories into a single monorepo, preserving full commit history, tags, and Git LFS objects. Manual dispatch only. | merge-to-monorepo.yml | dispatch |
| Pre-Mirror CI Gate ↗ ▶ Run | Checks CI status on all OSP-bound repos in Interested-Deving-1896 before mirroring. Dispatches resolve-failures for red repos, waits, then re-checks. Blocks the mirror if repos are still failing. | pre-mirror-ci-gate.yml | Reconcile Org References completes · dispatch |
| Repo Manifest ↗ ▶ Run | Exports a manifest of all repos in an org, or imports repos from a manifest into a target GitHub org. Supports multi-platform bulk import. | repo-manifest.yml | dispatch |
| Resolve CI Failures (Agnostic) ↗ ▶ Run | Agnostic CI failure resolver. Runs resolve-ci.sh for each enabled target in config/ci-check-targets.yml. GitHub targets use LLM analysis and auto-fix; GitLab targets retry failed/canceled pipelines. | resolve-ci.yml | Check CI Status completes · dispatch |
| Setup Dashboard Variables ↗ ▶ Run | Sets all VITE_* repository variables required by the infra-dashboard public-dashboard build. Safe to re-run — blank inputs leave existing variables unchanged. | setup-dashboard-vars.yml | dispatch |
| Setup GitLab CI Schedules ↗ ▶ Run | Replaces all existing GitLab pipeline schedules in openos-project/ops/fork-sync-all with the 3 consolidated CADENCE-based schedules. Safe to re-run. | setup-gitlab-schedules.yml | dispatch |
| Shallow Reclone Large GitLab Mirrors ↗ ▶ Run | Reduces GitLab storage usage by replacing full git history on large mirror projects with a shallow clone. Run when openos-project approaches its 10 GiB storage limit. | shallow-reclone-chromium.yml | dispatch |
| Trigger Artifact Mirror ↗ ▶ Run | Dispatches mirror-artifacts immediately when a release is published in this repo, so OSP and OOC receive the release without waiting for the next scheduled run. | trigger-artifact-mirror.yml | dispatch |
| Upload Asset ↗ ▶ Run | Uploads files from URLs, artifacts, or repo paths to a release, repo directory, or issue comment. | upload-asset.yml | dispatch |
Glossary
Key terms used in this document. Full glossary: DOCS/generated/glossary.md
dispatch
: Manual workflow_dispatch trigger — run from the Actions UI or via gh workflow run.
workflow_run : Trigger that fires when another named workflow completes. Used to chain workflows.
quota pre-flight
: Step that checks remaining REST quota before doing API work. Sets skip=true when below MIN_QUOTA.
MIN_QUOTA
: Minimum remaining REST quota required before a workflow proceeds. Per-workflow value from workflow-quota-costs.yml.
OSP : OpenOS-Project-OSP — second org in the mirror chain (GitHub).
OOC : OpenOS-Project-Ecosystem-OOC — third org in the mirror chain (GitHub).
mirror chain : Three-org pipeline: Interested-Deving-1896 → OSP → GitLab.
DRY_RUN
: When true, scripts print what they would do without making changes.
SYNC_TOKEN
: Cross-org GitHub token. Shares the 5000 req/hr bucket with GH_TOKEN.
OTA : Over-the-air update system delivering workflow/config updates to consumer repos.
pre-flush-prep : Pre-flight workflow run before full-chain-flush.
full-chain-flush : End-to-end pipeline: pre-flush-prep → mirror chain → post-flush-prep.
priority tiers : Tier 1 CRITICAL → Tier 4 LOW. Controls queue-manager and quota-reserve cancellation order.
consumer repo : Repo receiving template files from fork-sync-all via sync-template.sh.
OSP-bound repo : Repo mirrored into OSP and managed by fork-sync-all.
Schedule Summary (UTC)
| Time | Frequency | Workflow |
|---|---|---|
| 00:00 | Daily | Sync Upstream Mirrors (GitLab) ↗ ▶ Run |
| Sun 01:00 | Weekly | Manage Subtrees ↗ ▶ Run |
| 01:00 | Daily | Sync KDE Groups Mirrors ↗ ▶ Run |
| 01:07 | Daily | Sync pieroproietti Forks ↗ ▶ Run |
| at :10 | Every 1h | Runner Status ↗ ▶ Run |
| 01:23 | Daily | Mirror OSP → GitLab ↗ ▶ Run |
| 01:30 | Daily | Sync KDE Neon Mirrors ↗ ▶ Run |
| 01:37 | Daily | Sync Upstream Sources ↗ ▶ Run |
| 01:50 | Daily | Sync to GitLab Variant ↗ ▶ Run |
| Sun 02:00 | Weekly | Org Storage Maintenance ↗ ▶ Run |
| Sun 02:00 | Weekly | Sync Shell Tools Vendor ↗ ▶ Run |
| 02:10 | Daily | Mirror Artifacts ↗ ▶ Run |
| 02:15 | Daily | Sync Pieroproietti GitLab Forks ↗ ▶ Run |
| 02:17 | Daily | Mirror Orgs ↗ ▶ Run |
| Tue 02:41 | Weekly | Generate SBOM ↗ ▶ Run |
| 02:45 | Daily | Setup OSP Mirror Workflows ↗ ▶ Run |
| Sun 03:00 | Weekly | Integrate Shell Tools ↗ ▶ Run |
| 03:00 | Daily | Mirror GHCR Images ↗ ▶ Run |
| Mon 03:00 | Weekly | btrfs-devel sync ↗ ▶ Run |
| 03:05 | Daily | Sync Registry Sources ↗ ▶ Run |
| Sun 03:08 | Weekly | Docker → Incus Migration ↗ ▶ Run |
| Sun 03:10 | Weekly | Generate OSP Dependency Graph ↗ ▶ Run |
| 03:15 | Daily | Update READMEs ↗ ▶ Run |
| Wed 03:17 | Weekly | OTA Reconcile ↗ ▶ Run |
| 1st 03:19 | Monthly | LTS README Standardisation ↗ ▶ Run |
| Sun 03:30 | Weekly | Generate Repo Descriptions ↗ ▶ Run |
| 03:33 | Daily | Upstream PRs from OSP + OOC ↗ ▶ Run |
| 03:47 | Daily | Upstream Direct Commits from OSP + OOC ↗ ▶ Run |
| Mon 04:00 | Weekly | Audit Arch Repos ↗ ▶ Run |
| Mon 04:00 | Weekly | Full Audit ↗ ▶ Run |
| 04:00 | Daily | Sync FSA Forks ↗ ▶ Run |
| at :05 | Every 4h | Rate-Limit Re-trigger ↗ ▶ Run |
| Mon 04:17 | Weekly | Check Accessibility ↗ ▶ Run |
| Mon 04:17 | Weekly | GitBook OSS ↗ ▶ Run |
| Mon 04:23 | Weekly | Vouch Sync Codeowners ↗ ▶ Run |
| 04:27 | Daily | Git Platform Sync ↗ ▶ Run |
| 1st 04:29 | Monthly | Cleanup Stale Branches ↗ ▶ Run |
| Mon 04:30 | Weekly | Manage Repo Settings ↗ ▶ Run |
| 04:30 | Daily | Mirror RPM Repo ↗ ▶ Run |
| at :32 | Every 4h | Notification Poller ↗ ▶ Run |
| 04:55 | Daily | Sync Registered Imports ↗ ▶ Run |
| Sun 05:00 | Weekly | Eco Audit ↗ ▶ Run |
| 05:00 | Daily | Mirror Flatpak Repo ↗ ▶ Run |
| Tue 05:00 | Weekly | Pin Workflow Actions ↗ ▶ Run |
| Tue 05:00 | Weekly | Sync UAA Vendor ↗ ▶ Run |
| 05:02 | Daily | Sync btrfs-devel Branches ↗ ▶ Run |
| 10 5 */2 * * | Rebase PRs ↗ ▶ Run | |
| Mon 05:15 | Weekly | OTA Self-Update ↗ ▶ Run |
| 1st 05:17 | Monthly | Full Chain Flush ↗ ▶ Run |
| 50 5 */2 * * | Reconcile Org References ↗ ▶ Run | |
| Sun 06:00 | Weekly | Flush Lifecycle Manager ↗ ▶ Run |
| Mon 06:00 | Weekly | HW Detect CI ↗ ▶ Run |
| Mon 06:00 | Weekly | Pin Manager ↗ ▶ Run |
| 06:00 | Daily | Sync Ona Projects ↗ ▶ Run |
| Mon 06:06 | Weekly | Upstream Workflow Proposal ↗ ▶ Run |
| 06:07 | Daily | Sync All Forks ↗ ▶ Run |
| Mon 06:11 | Weekly | Update Infrastructure Dependencies ↗ ▶ Run |
| at :13 | Every 6h | Mirror Interested-Deving-1896 → OSP ↗ ▶ Run |
| Tue 06:17 | Weekly | Refresh NotebookLM Auth ↗ ▶ Run |
| Mon 06:25 | Weekly | Verify Fork Integrity ↗ ▶ Run |
| 06:30 | Daily | Check OOC CI Status ↗ ▶ Run |
| Mon 06:30 | Weekly | Check Shell Tools CI ↗ ▶ Run |
| at :37 | Every 6h | Sync-in ↗ ▶ Run |
| 06:38 | Daily | OTA Discover ↗ ▶ Run |
| at :45 | Every 6h | Mirror to OpenOS-Project-Ecosystem-OOC ↗ ▶ Run |
| at :55 | Every 6h | Auto-merge PRs ↗ ▶ Run |
| 07:00 | Daily | Pin Manager ↗ ▶ Run |
| 07:08 | Daily | Create Missing READMEs ↗ ▶ Run |
| 07:43 | Daily | Resolve CI Failures ↗ ▶ Run |
| 07:43 | Daily | Resolve CI Failures (Agnostic) ↗ ▶ Run |
| Mon 08:00 | Weekly | Update Quota Cost Registry ↗ ▶ Run |
| 15 8 */2 * * | Inject Built-with-Ona Badges ↗ ▶ Run | |
| 30 8 */2 * * | Inject Repo Motto ↗ ▶ Run | |
| Mon 09:00 | Weekly | Sync Agent Prices ↗ ▶ Run |
| 09:05 | Daily | Check CI Status ↗ ▶ Run |
| 09:23 | Daily | Git Platform Sync ↗ ▶ Run |
| Mon 09:24 | Weekly | Token Health Monitor ↗ ▶ Run |
| 10:15 | Daily | Sync-in ↗ ▶ Run |
| Mon 10:34 | Weekly | CodeQL ↗ ▶ Run |
| 43 10 */2 * * | Translate READMEs ↗ ▶ Run | |
| 15 11 */2 * * | Translate Docs ↗ ▶ Run | |
| at :03 | Every 12h | Mirror Releases ↗ ▶ Run |
| Mon 14:00 | Weekly | Branch Hygiene Report ↗ ▶ Run |
| 0 * * * * | Mirror to OpenOS-Project-OSP ↗ ▶ Run | |
| 15 * * * * | Mirror to OpenOS-Project-Ecosystem-OOC ↗ ▶ Run | |
| 17 * * * * | Notification Manager ↗ ▶ Run | |
| Every 30 min | List Active Runs ↗ ▶ Run | |
| Every 30 min | Queue Manager ↗ ▶ Run | |
| Every 30 min | Quota Reserve ↗ ▶ Run |