Skip to content

Latest commit

 

History

History
130 lines (85 loc) · 6.46 KB

samples.md

File metadata and controls

130 lines (85 loc) · 6.46 KB

Automated Workflow Chain (With Samples)

MSRBot.io automation operates as a linked chain—from document extraction to site build and URL validation.
Each stage runs on a scheduled cron and triggers follow-ups automatically after merges or upstream data changes.


Schedule Overview

Most core workflows execute on a weekly cron, with triggered rebuilds after PR merges or manual dispatch. Validate Document URLs runs biweekly (1st + 15th of each month) — the corpus passed ~26k docs and each sweep takes 90+ minutes.


1. Extract Documents

Crawls defined URL maps to parse and populate data (currently only SMPTE). Creates a PR if changes are found.

Workflow: Extract Documents - SMPTE
Sample Run: Run #18390426360

Dataset:

Reports (as needed):

Sample PR: - Update documents.json (20251010-193337) (#520)

Trigger: weekly schedule or manual dispatch


2. Build MasterSuite Index (MSI)

Builds a master lineage of documents, mapping each family, suite, and amendment relationship. Rebuilt inside every data PR (committed back to the PR branch); UNKEYED issues are synced after merge.

Workflow: Build MSI + MRI (PR) · issues: Sync MSI/MRI issues

Dataset: src/main/data/docs/
Reports:

Sample Issue: UNKEYED: x509-sg.2000 (#469)

Trigger: PRs that touch data/input/config/lib or the MSI/MRI scripts (incl. extract PRs), or manual dispatch


3. Build MasterReference Index (MRI)

Builds a master reference map and determines whether referenced documents are present in the dataset. Rebuilt in the same PR-time job as MSI, right after it; MISSING REF issues are synced after merge.

Workflow: Build MSI + MRI (PR) · issues: Sync MSI/MRI issues

Dataset: src/main/data/docs/

Reports:

Sample Issue: MISSING REF: W3C.xml-names.20091208 (#467)

Trigger: same job as MSI (runs right after it)


4. Build MSR Site and Test

Builds the front-end site from data and publishes to GitHub Pages.

Workflow: Build MSR
Sample Run: Run #18388295172 → Publish to GH Pages

Dataset:

Build Output: msrbot.io

Trigger: completion of Build MRI


5. Validate Document URLs

Validates and normalizes URLs in the dataset. Creates PRs and manages issues as needed.

Workflow: Validate URLs
Sample Run: Run #18388310278

Reports:

Sample PR: URL Backfill resolved for X entries (#491)
Sample Issues:

Trigger: completion of Build MSR



6. PR Build Preview (MSR site)

Build preview of MSR site during PR creation, prior to publication to manually check rendering.

Workflow: Build Preview
Sample Run: Run #18398206332

Sample PRs:

Trigger: creation of PR with changes to src/main/data/docs/ or site rendering.


Summary

  • Fully autonomous workflow chain:
    Extract → MSI → MRI → MSR → URL Validate
  • Each stage runs independently but triggers the next when changes are detected and generates auditable JSON reports.
  • PRs are opened only when data changes; metadata and validation commits go directly to main.
  • PR generate MSR preview links when appropriate; when closed and/or merged, self cleans to remove stale preview links and branches.
  • Permanent artifacts reports are stored in src/main/reports.
  • All runs are concurrency-protected, idempotent, and self-healing.

Dependencies

  • Node.js 20+ (LTS)
  • GitHub Actions with contents, issues, and pull-requests write permissions
  • Access to HTML/PDF publication URLs