Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: PR Validation [auto]
name: CI SuperDoc

permissions:
contents: read
Expand All @@ -8,10 +8,11 @@ on:
branches: [main, 'release/**']
paths-ignore:
- 'apps/docs/**'
- 'packages/template-builder/**'
- '**/*.md'

concurrency:
group: pr-${{ github.event.pull_request.number }}
group: ci-superdoc-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
Expand All @@ -23,7 +24,7 @@ jobs:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # Pinned commit hash for @v4
- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
Expand All @@ -44,22 +45,22 @@ jobs:

- name: Install dependencies
run: pnpm install

- name: Validate commits
run: |
BASE=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})
pnpx commitlint \
--from "$BASE" \
--to ${{ github.event.pull_request.head.sha }}

run-unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # Pinned commit hash for @v4
- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
Expand Down Expand Up @@ -104,7 +105,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}

- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # Pinned commit hash for @v4
- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
Expand All @@ -129,7 +130,7 @@ jobs:
- name: Build SuperDoc
run: |
pnpm run build

- name: Install Playwright browsers
run: |
cd e2e-tests
Expand All @@ -138,7 +139,7 @@ jobs:
- name: Run e2e tests
id: run-e2e-tests
if: always()
run: cd e2e-tests && pnpm test
run: cd e2e-tests && pnpm test

- name: Upload e2e test results
id: upload_artifact
Expand All @@ -156,7 +157,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}

- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # Pinned commit hash for @v4
- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/ci-template-builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CI Template Builder

permissions:
contents: read

on:
pull_request:
paths:
- 'packages/template-builder/**'
workflow_dispatch:

concurrency:
group: ci-template-builder-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: pnpm

- name: Install dependencies
run: pnpm install

- name: Build superdoc (dependency)
run: pnpm run build:superdoc

- name: Lint
run: pnpm --filter @superdoc-dev/template-builder lint

- name: Type check
run: pnpm --filter @superdoc-dev/template-builder type-check

- name: Build
run: pnpm --filter @superdoc-dev/template-builder build

- name: Test
run: pnpm --filter @superdoc-dev/template-builder test
36 changes: 36 additions & 0 deletions .github/workflows/deploy-demos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Deploy Demos

on:
push:
branches: [main]
paths:
- 'packages/template-builder/**'
# Add more demo paths here as needed
workflow_dispatch:

jobs:
deploy-template-builder-demo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: pnpm
- run: pnpm install
- name: Build template-builder
run: pnpm --filter @superdoc-dev/template-builder build
- name: Build demo
run: pnpm --filter superdoc-template-builder-demo build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./packages/template-builder/demo/dist
cname: template-builder.superdoc.dev

# Add more demo deploy jobs here as needed
# deploy-another-demo:
# runs-on: ubuntu-latest
# steps: ...
10 changes: 9 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,22 @@ jobs:
- name: Build packages
run: pnpm run build

- name: Release
- name: Release superdoc
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
LINEAR_TOKEN: ${{ secrets.LINEAR_TOKEN }}
run: pnpx semantic-release

- name: Release template-builder
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
working-directory: packages/template-builder
run: pnpx semantic-release

# Sync stable back to main after stable release
# - name: Sync stable to main
# if: github.ref == 'refs/heads/stable'
Expand Down
4 changes: 4 additions & 0 deletions packages/template-builder/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dist/
node_modules/
*.log
.DS_Store
34 changes: 34 additions & 0 deletions packages/template-builder/.releaserc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* eslint-env node */
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;

const config = {
branches: [
{ name: 'stable', channel: 'latest' },
{ name: 'main', prerelease: 'next', channel: 'next' },
],
tagFormat: 'template-builder-v${version}',
plugins: [
'@semantic-release/commit-analyzer',
'@semantic-release/release-notes-generator',
['@semantic-release/npm', { npmPublish: true }],
],
};

const isPrerelease = config.branches.some(
(b) => typeof b === 'object' && b.name === branch && b.prerelease
);

if (!isPrerelease) {
config.plugins.push([
'@semantic-release/git',
{
assets: ['package.json'],
message:
'chore(template-builder): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}',
},
]);
}

config.plugins.push('@semantic-release/github');

module.exports = config;
Loading
Loading