name: Quickstart test on: push: branches: - main - master - develop - "**" pull_request: workflow_dispatch: permissions: contents: read jobs: quickstart: name: Hugo quickstart runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: persist-credentials: false submodules: false - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e with: node-version: "24" - name: Set up Hugo uses: peaceiris/actions-hugo@2752ce1d29631191ea3f27c23495fa06139a5b78 with: hugo-version: "latest" extended: true - name: Show tool versions run: | node --version npm --version git --version hugo version - name: Install dependencies run: npm ci # Default (local) mode installs the checked-out working tree as the theme, # so this gate actually exercises the code on the current branch / PR. - name: Run quickstart test (local working tree) run: | node scripts/test-hugo-quickstart.ts # Additionally verify the documented submodule install against the published # theme, but only after merge to a release branch to avoid testing stale # published code on feature branches and PRs. - name: Run quickstart test (published submodule) if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') run: | node scripts/test-hugo-quickstart.ts --use-submodule