Fix Quartz build to preserve git history for accurate file dates #105

Merged
eblume merged 2 commits from fix/quartz-git-dates into main 2026-02-04 08:25:47 -08:00
5 changed files with 29 additions and 15 deletions

View file

@ -147,35 +147,47 @@ jobs:
echo "Node version: $(node --version)" echo "Node version: $(node --version)"
echo "NPM version: $(npm --version)" echo "NPM version: $(npm --version)"
# Clone Quartz # Clone Quartz to temp location
git clone --depth 1 https://github.com/jackyzha0/quartz.git /tmp/quartz git clone --depth 1 https://github.com/jackyzha0/quartz.git /tmp/quartz
cd /tmp/quartz
# Copy Quartz build system into blumeops workspace
# This allows building from within the repo so git can find file history
cp -r /tmp/quartz/quartz "$GITHUB_WORKSPACE/"
cp /tmp/quartz/package.json "$GITHUB_WORKSPACE/"
cp /tmp/quartz/package-lock.json "$GITHUB_WORKSPACE/"
cp /tmp/quartz/tsconfig.json "$GITHUB_WORKSPACE/"
cd "$GITHUB_WORKSPACE"
# Install dependencies # Install dependencies
npm ci npm ci
# Copy our configuration (lives in docs/ to keep repo root clean) # Copy our configuration to workspace root
cp "$GITHUB_WORKSPACE/docs/quartz.config.ts" . cp docs/quartz.config.ts .
cp "$GITHUB_WORKSPACE/docs/quartz.layout.ts" . cp docs/quartz.layout.ts .
# Copy docs as content (includes index.md) # Symlink docs as content (preserves git history for accurate dates)
rm -rf content ln -s docs content
cp -r "$GITHUB_WORKSPACE/docs" content
# Copy CHANGELOG.md from repo root into content so it's accessible in docs # Symlink CHANGELOG.md into docs so it's part of the content
cp "$GITHUB_WORKSPACE/CHANGELOG.md" content/ ln -s ../CHANGELOG.md docs/CHANGELOG.md
# Build # Build (from within repo so git commands work)
echo "Building static site..." echo "Building static site..."
npx quartz build npx quartz build
# Create tarball # Create tarball
TARBALL="docs-${VERSION}.tar.gz" TARBALL="docs-${VERSION}.tar.gz"
echo "Creating tarball: $TARBALL" echo "Creating tarball: $TARBALL"
tar -czf "$GITHUB_WORKSPACE/$TARBALL" -C public . tar -czf "$TARBALL" -C public .
echo "Build complete!" echo "Build complete!"
ls -lh "$GITHUB_WORKSPACE/$TARBALL" ls -lh "$TARBALL"
# Clean up Quartz build artifacts (keep tarball)
rm -rf quartz content public node_modules
rm -f package.json package-lock.json tsconfig.json quartz.config.ts quartz.layout.ts
rm -f docs/CHANGELOG.md # Remove symlink
- name: Create release - name: Create release
env: env:

View file

@ -0,0 +1 @@
Fix misc changelog fragment type to show content (was showing empty entries)

View file

@ -0,0 +1 @@
Fix Quartz build to preserve git history for accurate file dates

View file

@ -56,7 +56,7 @@ Fragments are automatically collected into `CHANGELOG.md` (at repo root) during
| `bugfix` | `bugfix/` | Bug fixes | | `bugfix` | `bugfix/` | Bug fixes |
| `infra` | `infra/` | Infrastructure changes | | `infra` | `infra/` | Infrastructure changes |
| `doc` | `doc/` | Documentation updates | | `doc` | `doc/` | Documentation updates |
| `misc` | `misc/` | Other (content hidden in changelog) | | `misc` | `misc/` | Other changes |
## Runner Environment ## Runner Environment

View file

@ -37,4 +37,4 @@ showcontent = true
[[tool.towncrier.type]] [[tool.towncrier.type]]
directory = "misc" directory = "misc"
name = "Miscellaneous" name = "Miscellaneous"
showcontent = false showcontent = true