Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d3ed658
Add Webflow CMS sync design spec
williamw Mar 20, 2026
9500e1f
Update spec: address review findings
williamw Mar 20, 2026
9c00745
Add Webflow CMS sync implementation plan
williamw Mar 23, 2026
e8d5ac3
Update plan: fix API contracts and address review findings
williamw Mar 23, 2026
1b3e1e7
feat: add Webflow Data API client module
williamw Mar 23, 2026
4fefe91
feat: add toWebflowFields and diffModels with tests
williamw Mar 23, 2026
be5561b
feat: rewrite fetch-models.js for Webflow CMS sync
williamw Mar 23, 2026
5e4507f
feat: update workflow for Webflow CMS sync
williamw Mar 23, 2026
3c1aee3
chore: remove models.json and data/images (replaced by Webflow CMS)
williamw Mar 23, 2026
2c200f7
debug: add diff field logging to identify idempotency issue
williamw Mar 23, 2026
c11860c
fix: treat empty string and undefined as equivalent in diff
williamw Mar 23, 2026
8e49057
feat: add environment toggle, dry run mode, rename workflow
williamw Mar 23, 2026
b5e362c
feat: default cron runs to production environment
williamw Mar 23, 2026
bad5474
fix: align field slugs with production schema
williamw Mar 23, 2026
449b662
feat: use live CMS endpoints, remove publish step
williamw Mar 23, 2026
c9f3270
feat: auto-detect live endpoint support, fall back to staged + publish
williamw Mar 23, 2026
12ccac6
fix: gracefully handle 404 on publish endpoint for unpublished sites
williamw Mar 23, 2026
a35f0b8
fix: skip logo upload for models that already have a logo in Webflow
williamw Mar 23, 2026
ac2a88f
fix: only skip re-upload for base64 logos, pass URL logos through nor…
williamw Mar 23, 2026
b8e39bc
refactor: apply composed method pattern to sync scripts
williamw Mar 23, 2026
3693a2b
Merge remote-tracking branch 'origin/master' into billw/MKT-107-webfl…
williamw Mar 23, 2026
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
31 changes: 18 additions & 13 deletions .github/workflows/fetch-models.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,38 @@
name: Fetch Model Garden
name: Sync Model Library

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
environment:
description: 'Target environment'
type: choice
options:
- test
- production
default: 'test'
dry_run:
description: 'Dry run (show changes without pushing to Webflow)'
type: boolean
default: false

jobs:
fetch:
sync:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '20'

- name: Fetch models
- name: Sync models to Webflow
run: node scripts/fetch-models.js
env:
MODULAR_CLOUD_API_TOKEN: ${{ secrets.MODULAR_CLOUD_API_TOKEN }}
MODULAR_CLOUD_ORG: ${{ vars.MODULAR_CLOUD_ORG }}
MODULAR_CLOUD_BASE_URL: ${{ vars.MODULAR_CLOUD_BASE_URL }}

- name: Commit and push
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add data/models.json data/images/
git diff --cached --quiet || git commit -m "Update models.json"
git push
WEBFLOW_API_TOKEN: ${{ inputs.environment == 'test' && secrets.TEST_WEBFLOW_API_TOKEN || secrets.PROD_WEBFLOW_API_TOKEN }}
WEBFLOW_SITE_ID: ${{ inputs.environment == 'test' && vars.TEST_WEBFLOW_SITE_ID || vars.PROD_WEBFLOW_SITE_ID }}
DRY_RUN: ${{ inputs.dry_run || 'false' }}
1 change: 0 additions & 1 deletion data/images/flux2.svg

This file was deleted.

Loading
Loading