release: finalize OINK 0.3.0 #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| scripts: | |
| name: Browser runtime tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| # The theme ships its browser runtimes as plain assets, so these run | |
| # without an install step. They are the only automated coverage of the | |
| # shell, palette, search, and action-registry behavior in this repository. | |
| - name: Run browser runtime tests | |
| run: node --test 'tests/js/**/*.test.js' | |
| build: | |
| name: Hugo ${{ matrix.hugo-version }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| hugo-version: ['0.160.1', '0.164.0'] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: '3.x' | |
| - uses: peaceiris/actions-hugo@v3 | |
| with: | |
| hugo-version: ${{ matrix.hugo-version }} | |
| extended: true | |
| - name: Check translation key parity | |
| run: python3 scripts/check-i18n.py | |
| - name: Verify vendored dependency inventory | |
| run: python3 scripts/check-vendor.py | |
| - name: Check typography token boundaries | |
| run: python3 scripts/check-font-tokens.py | |
| - name: Check content primitive contract | |
| run: python3 scripts/check-content-primitives-contract.py | |
| - name: Check PRD 4 contracts and characterization | |
| run: python3 scripts/check-prd4-contract.py | |
| - name: Check PRD 4 runtime isolation | |
| run: python3 scripts/check-prd4-runtime.py | |
| - name: Check sidebar icon density policies | |
| run: python3 scripts/check-sidebar-icons.py | |
| - name: Check search metadata and ranking | |
| run: python3 scripts/check-prd4-search.py | |
| - name: Check action registry and command manifest | |
| run: python3 scripts/check-prd4-actions.py | |
| - name: Check Command Palette modes and behavior | |
| run: python3 scripts/check-prd4-palette.py | |
| - name: Check PRD 4 bilingual migration and starter guidance | |
| run: python3 scripts/check-prd4-docs.py | |
| - name: Build the example site without warnings | |
| working-directory: exampleSite | |
| run: hugo --printPathWarnings --panicOnWarning | |
| - name: Check enhanced code-block contracts | |
| run: python3 scripts/check-code-blocks.py | |
| - name: Check everyday content primitives | |
| run: python3 scripts/check-content-primitives.py | |
| - name: Check shared media primitives | |
| run: python3 scripts/check-media-primitives.py | |
| - name: Check opt-in Image Zoom | |
| run: python3 scripts/check-image-zoom.py | |
| - name: Check Gallery output and Zoom reuse | |
| run: python3 scripts/check-gallery.py | |
| - name: Build the system typography preset | |
| working-directory: exampleSite | |
| env: | |
| HUGO_PARAMS_UI_TYPOGRAPHY_PRESET: system | |
| run: | | |
| hugo --destination "$RUNNER_TEMP/oink-system" --printPathWarnings --panicOnWarning | |
| grep -R -q 'data-td-typography="system"' "$RUNNER_TEMP/oink-system" | |
| - name: Preserve legacy Sass font overrides | |
| run: | | |
| cp -R exampleSite "$RUNNER_TEMP/oink-font-compat" | |
| mkdir -p "$RUNNER_TEMP/oink-font-compat/assets/scss" | |
| cp tests/fixtures/legacy-fonts/_variables_project.scss \ | |
| "$RUNNER_TEMP/oink-font-compat/assets/scss/_variables_project.scss" | |
| hugo --source "$RUNNER_TEMP/oink-font-compat" \ | |
| --themesDir "$(dirname "$GITHUB_WORKSPACE")" \ | |
| --destination "$RUNNER_TEMP/oink-font-compat-public" \ | |
| --printPathWarnings --panicOnWarning | |
| grep -R -q -- '--td-heading-font-family:Georgia, serif' \ | |
| "$RUNNER_TEMP/oink-font-compat-public/scss" | |
| grep -R -q -- '--td-code-font-family:"Courier New", monospace' \ | |
| "$RUNNER_TEMP/oink-font-compat-public/scss" | |
| grep -F -R -q -- \ | |
| '[data-td-typography=system]{--bs-font-monospace:"Legacy Mono", monospace' \ | |
| "$RUNNER_TEMP/oink-font-compat-public/scss" | |
| if grep -R -q -- '--td-heading-font-family:var(--td-print-font-family)' \ | |
| "$RUNNER_TEMP/oink-font-compat-public/scss"; then | |
| echo "print preset unexpectedly replaced the legacy heading font" >&2 | |
| exit 1 | |
| fi | |
| - name: Reject an invalid typography preset | |
| working-directory: exampleSite | |
| run: | | |
| if HUGO_PARAMS_UI_TYPOGRAPHY_PRESET=invalid \ | |
| hugo --destination "$RUNNER_TEMP/oink-invalid" \ | |
| >"$RUNNER_TEMP/oink-invalid.log" 2>&1; then | |
| echo "invalid typography preset unexpectedly built" >&2 | |
| exit 1 | |
| fi | |
| grep -q 'invalid params.ui.typography.preset' "$RUNNER_TEMP/oink-invalid.log" |