https://github.com/w3c/spec-prod
GitHub Action to build ReSpec/Bikeshed specs, validate output and publish to GitHub pages or W3C
https://github.com/w3c/spec-prod
bikeshed echidna github-actions github-pages hacktoberfest respec spec-generator validator w3c
Last synced: 3 months ago
JSON representation
GitHub Action to build ReSpec/Bikeshed specs, validate output and publish to GitHub pages or W3C
- Host: GitHub
- URL: https://github.com/w3c/spec-prod
- Owner: w3c
- License: mit
- Created: 2020-08-17T16:38:48.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-02-26T11:07:02.000Z (3 months ago)
- Last Synced: 2026-02-26T16:23:07.579Z (3 months ago)
- Topics: bikeshed, echidna, github-actions, github-pages, hacktoberfest, respec, spec-generator, validator, w3c
- Language: TypeScript
- Homepage: https://w3c.github.io/spec-prod/
- Size: 439 KB
- Stars: 40
- Watchers: 4
- Forks: 26
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spec Prod | [Documentation 📘](https://w3c.github.io/spec-prod/)
This GitHub Action lets you:
- Build [ReSpec](https://github.com/w3c/respec) and [Bikeshed](https://github.com/tabatkins/bikeshed) specs.
- Validate generated document's markup and check for broken hyperlinks.
- Publish generated spec to GitHub Pages and/or w3.org (using Echidna).
## Basic Usage
During a pull request, the action:
- figures out if you're using ReSpec (`index.html`) or Bikeshed (`index.bs`)
- converts the ReSpec/Bikeshed source document to regular HTML
- runs broken hyperlink checker, and validate markup using W3C nu validator
Additionally, if a commit is pushed to the "main" branch, the action deploys the built specification to /TR/.
```yml
# .github/workflows/auto-publish.yml
name: CI
on:
pull_request: {}
push:
branches: [main]
jobs:
main:
name: Build, Validate and Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: w3c/spec-prod@v2
with:
W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN }}
# Replace following with appropriate value. See options.md for details.
W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-group/2014JulSep/1234.html
# Usually, you want the following set too...
W3C_BUILD_OVERRIDE: |
shortName: your-specs-shortname-here
specStatus: WD
```
## More examples
Learn from [usage examples](docs/examples.md), including:
- [Run as a validator on pull requests](docs/examples.md#run-as-a-validator-on-pull-requests)
- [Deploy to GitHub pages](docs/examples.md#deploy-to-github-pages)
- And more...
## Options
Read more about [the available options](docs/options.md)