website-and-documentation/Taskfile.yml

89 lines
1.5 KiB
YAML
Raw Normal View History

version: '3'
vars:
HUGO_CMD: hugo
NPM_CMD: npm
tasks:
default:
desc: Show available tasks
cmds:
- task --list
# Build tasks
build:
desc: Build Hugo site
cmds:
- "{{.HUGO_CMD}} --gc --minify"
build:dev:
desc: Build Hugo site for development
cmds:
- "{{.HUGO_CMD}}"
serve:
desc: Start Hugo dev server
cmds:
- "{{.HUGO_CMD}} server"
clean:
desc: Clean build artifacts
cmds:
- rm -rf public resources/_gen .hugo_build.lock
# Test tasks
test:
desc: Run all tests
deps:
- test:build
- test:markdown
- test:html
- test:links
test:quick:
desc: Run quick tests (without link check)
deps:
- test:build
- test:markdown
test:build:
desc: Test Hugo build
cmds:
- "{{.HUGO_CMD}} --gc --minify --logLevel info"
test:markdown:
desc: Lint markdown files
cmds:
- "{{.NPM_CMD}} run test:markdown"
test:html:
desc: Validate HTML
cmds:
- "{{.NPM_CMD}} run test:html"
test:links:
desc: Check links
cmds:
- htmltest
# Development tasks
deps:install:
desc: Install all dependencies
cmds:
- "{{.NPM_CMD}} install"
- "{{.HUGO_CMD}} mod get -u"
- "{{.HUGO_CMD}} mod tidy"
deps:update:
desc: Update dependencies
cmds:
- devbox update
- "{{.NPM_CMD}} update"
- "{{.HUGO_CMD}} mod get -u"
# CI/CD
ci:
desc: Run CI pipeline locally
deps:
- test