mirror of
https://github.com/phranck/TUIkit.git
synced 2026-05-21 09:50:35 +00:00
Chore: Move landing page to phranck/tuikit.dev repo
- Remove docs/ directory (now in phranck/tuikit.dev) - Remove scheduled workflows (update-plans-data, update-weekly-activity, update-social-cache) - Remove build-landing and deploy-landing CI jobs - Remove pages/id-token permissions (no longer needed) - Keep: build (lint/test), update-badge, deploy-docs (DocC -> docs.tuikit.dev)
This commit is contained in:
@@ -10,8 +10,6 @@ on:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: ci-${{ github.ref }}
|
||||
@@ -107,69 +105,6 @@ jobs:
|
||||
git commit -m "Chore: Update test count badge to ${{ steps.counts.outputs.tests }} tests [skip ci]"
|
||||
git push
|
||||
|
||||
# ── Landing Page (Astro → tuikit.dev) ─────────────────────────
|
||||
build-landing:
|
||||
name: Build Landing Page
|
||||
needs: build
|
||||
runs-on: macos-15
|
||||
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Determine version
|
||||
id: version
|
||||
run: |
|
||||
# Use tag name if triggered by a tag push, otherwise latest tag
|
||||
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
||||
VERSION="${GITHUB_REF#refs/tags/}"
|
||||
else
|
||||
VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "0.1.0")
|
||||
fi
|
||||
# Strip leading 'v' if present (v1.2.3 -> 1.2.3)
|
||||
VERSION="${VERSION#v}"
|
||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
||||
echo "Resolved version: $VERSION"
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: "npm"
|
||||
cache-dependency-path: docs/package-lock.json
|
||||
|
||||
- name: Build landing page
|
||||
working-directory: docs
|
||||
env:
|
||||
TUIKIT_VERSION: ${{ steps.version.outputs.version }}
|
||||
PUBLIC_GITHUB_TOKEN: ${{ secrets.DASHBOARD_GITHUB_TOKEN }}
|
||||
run: |
|
||||
npm ci
|
||||
npm run build
|
||||
|
||||
- name: Add CNAME for custom domain
|
||||
run: echo "tuikit.dev" > docs/dist/CNAME
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: docs/dist
|
||||
|
||||
# ── Deploy Landing Page to GitHub Pages ──────────────────────
|
||||
deploy-landing:
|
||||
name: Deploy Landing Page
|
||||
needs: build-landing
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
|
||||
# ── DocC Documentation (→ docs.tuikit.dev) ───────────────────
|
||||
deploy-docs:
|
||||
name: Build & Deploy DocC
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
name: Update Plans Data
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 * * * *' # Every hour
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: docs/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
working-directory: docs
|
||||
|
||||
- name: Update plans data
|
||||
run: npm run update:plans
|
||||
working-directory: docs
|
||||
|
||||
- name: Commit if changed
|
||||
run: |
|
||||
git diff --quiet docs/public/data/plans.json && echo "No changes" && exit 0
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add docs/public/data/plans.json
|
||||
git commit -m "chore: update plans data [skip ci]"
|
||||
git push
|
||||
@@ -1,63 +0,0 @@
|
||||
name: Update Social Cache
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */2 * * *' # Every 2 hours (incremental)
|
||||
- cron: '0 4 * * 0' # Weekly full refresh (Sundays 4 AM UTC)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
full_refresh:
|
||||
description: 'Run full refresh instead of incremental'
|
||||
required: false
|
||||
default: 'false'
|
||||
type: boolean
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.DASHBOARD_GITHUB_TOKEN }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: docs/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
working-directory: docs
|
||||
|
||||
- name: Determine if full refresh
|
||||
id: mode
|
||||
run: |
|
||||
# Full refresh on Sundays (cron) or if manually triggered with full_refresh=true
|
||||
if [[ "${{ github.event.schedule }}" == "0 4 * * 0" ]] || [[ "${{ inputs.full_refresh }}" == "true" ]]; then
|
||||
echo "args=--full" >> "$GITHUB_OUTPUT"
|
||||
echo "Running FULL refresh"
|
||||
else
|
||||
echo "args=" >> "$GITHUB_OUTPUT"
|
||||
echo "Running incremental update"
|
||||
fi
|
||||
|
||||
- name: Update social cache
|
||||
run: npx tsx scripts/update-social-cache.ts ${{ steps.mode.outputs.args }}
|
||||
working-directory: docs
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.DASHBOARD_GITHUB_TOKEN }}
|
||||
|
||||
- name: Commit if changed
|
||||
run: |
|
||||
git diff --quiet docs/public/social-cache.json && echo "No changes" && exit 0
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add docs/public/social-cache.json
|
||||
git commit -m "chore: update social cache [skip ci]"
|
||||
git push
|
||||
@@ -1,58 +0,0 @@
|
||||
name: Update Weekly Activity Cache
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */2 * * *' # Every 2 hours
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Fetch commit activity with retries
|
||||
run: |
|
||||
MAX_RETRIES=5
|
||||
RETRY_DELAY=10
|
||||
OUTPUT_FILE="docs/public/weekly-activity-cache.json"
|
||||
|
||||
for i in $(seq 1 $MAX_RETRIES); do
|
||||
echo "Attempt $i of $MAX_RETRIES..."
|
||||
|
||||
HTTP_CODE=$(curl -s -w "%{http_code}" -o /tmp/activity.json \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/stats/commit_activity")
|
||||
|
||||
if [ "$HTTP_CODE" = "200" ]; then
|
||||
# Verify it's valid JSON array with data
|
||||
if jq -e 'type == "array" and length > 0' /tmp/activity.json > /dev/null 2>&1; then
|
||||
echo "Success! Got $(jq 'length' /tmp/activity.json) weeks of data."
|
||||
cp /tmp/activity.json "$OUTPUT_FILE"
|
||||
exit 0
|
||||
else
|
||||
echo "Got 200 but empty or invalid data, retrying..."
|
||||
fi
|
||||
else
|
||||
echo "Got HTTP $HTTP_CODE, waiting ${RETRY_DELAY}s before retry..."
|
||||
fi
|
||||
|
||||
sleep $RETRY_DELAY
|
||||
done
|
||||
|
||||
echo "Failed to fetch valid data after $MAX_RETRIES attempts"
|
||||
exit 1
|
||||
|
||||
- name: Commit if changed
|
||||
run: |
|
||||
git diff --quiet docs/public/weekly-activity-cache.json && echo "No changes" && exit 0
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add docs/public/weekly-activity-cache.json
|
||||
git commit -m "chore: update weekly activity cache [skip ci]"
|
||||
git push
|
||||
Reference in New Issue
Block a user