Repository navigation
Move integration-specific configuration into its owning plugins and add optional image optimization through @purestack/ts-images. Preserve existing default site output while making plugin configuration and asset lifecycle contracts explicit. #108
Workflow file for this run
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: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| checks: | |
| name: Checks (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 20 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: '24' | |
| package-manager-cache: false | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Install dependencies | |
| run: yarn install --immutable | |
| - name: Check line endings | |
| run: yarn check-eol | |
| - name: Regenerate Regor component metadata | |
| run: yarn regor-components | |
| - name: Regenerate embedded scripts | |
| run: yarn embed | |
| - name: Format repository | |
| run: yarn format | |
| - name: Verify generated and formatted files are committed | |
| shell: bash | |
| run: | | |
| if [[ -n "$(git status --porcelain --untracked-files=all)" ]]; then | |
| echo "::error::Run yarn regor-components, yarn embed, and yarn format locally, then commit the resulting changes." | |
| git status --short --untracked-files=all | |
| git diff --stat | |
| exit 1 | |
| fi | |
| - name: Lint without changing files | |
| run: yarn lint:ci | |
| - name: Type-check packages | |
| run: yarn build | |
| - name: Type-check VS Code extension with root TypeScript | |
| run: yarn exec tsc -p packages/ts-ssg-vscode/tsconfig.json --noEmit | |
| - name: Test | |
| run: yarn test:ci | |
| - name: Bundle distributable packages | |
| if: runner.os == 'Linux' | |
| run: yarn bundle | |
| - name: Pack distributable packages | |
| if: runner.os == 'Linux' | |
| run: yarn package |