Skip to content
This repository was archived by the owner on May 23, 2026. It is now read-only.

Publish extension marketplace packages #8

Publish extension marketplace packages

Publish extension marketplace packages #8

Workflow file for this run

name: Deploy Extensions CDN
on:
release:
types: [published]
push:
branches: [master]
paths:
- "extensions/**/extension.json"
- "extensions/**/*.svg"
- "extensions/**/*.scm"
- "packages/**/*.tar.gz"
- "database/**/*.tar.gz"
- "registry.json"
- "index.json"
- "manifests.json"
workflow_dispatch:
jobs:
deploy:
if: github.repository == 'athasdev/extensions'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Regenerate catalog files
run: |
bun scripts/package-extensions.ts
bun scripts/build-extensions-index.ts
bun scripts/generate-manifests.ts
bun scripts/validate.ts
- name: Sync extension configs and assets to CDN
uses: burnett01/rsync-deployments@7.0.2
with:
switches: -avz --include='*/' --include='*.json' --include='*.scm' --include='*.svg' --exclude='*'
path: extensions/
remote_path: ${{ secrets.EXTENSIONS_CDN_ROOT }}/
remote_host: ${{ secrets.VPS_HOST }}
remote_user: ${{ secrets.VPS_USER }}
remote_key: ${{ secrets.VPS_SSH_KEY }}
remote_port: ${{ secrets.VPS_PORT || 22 }}
- name: Sync packaged extensions to CDN
uses: burnett01/rsync-deployments@7.0.2
with:
switches: -avz
path: packages/
remote_path: ${{ secrets.EXTENSIONS_CDN_ROOT }}/packages/
remote_host: ${{ secrets.VPS_HOST }}
remote_user: ${{ secrets.VPS_USER }}
remote_key: ${{ secrets.VPS_SSH_KEY }}
remote_port: ${{ secrets.VPS_PORT || 22 }}
- name: Sync database sidecar packages to CDN
uses: burnett01/rsync-deployments@7.0.2
with:
switches: -avz
path: database/
remote_path: ${{ secrets.EXTENSIONS_CDN_ROOT }}/database/
remote_host: ${{ secrets.VPS_HOST }}
remote_user: ${{ secrets.VPS_USER }}
remote_key: ${{ secrets.VPS_SSH_KEY }}
remote_port: ${{ secrets.VPS_PORT || 22 }}
- name: Sync catalog files to CDN
uses: burnett01/rsync-deployments@7.0.2
with:
switches: -avz
path: registry.json index.json manifests.json
remote_path: ${{ secrets.EXTENSIONS_CDN_ROOT }}/
remote_host: ${{ secrets.VPS_HOST }}
remote_user: ${{ secrets.VPS_USER }}
remote_key: ${{ secrets.VPS_SSH_KEY }}
remote_port: ${{ secrets.VPS_PORT || 22 }}