organizing docs (#1235) #47
This file contains 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: Tests | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize] | |
branches: | |
- dev | |
- main | |
push: | |
branches: | |
- dev | |
- main | |
jobs: | |
run-tests: | |
name: All tests | |
permissions: | |
contents: read | |
id-token: write | |
runs-on: ubuntu-latest | |
env: | |
BROWSER: chrome | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Setup Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npm run build | |
- name: All tests | |
run: npm run test | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: false | |
codecov_yml_path: ./.github/codecov.yml | |
token: ${{ secrets.CODECOV_TOKEN }} | |
test-code-examples: | |
name: Check typedocs | |
permissions: | |
contents: read | |
id-token: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Setup Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm install | |
- name: Build Docs | |
run: npm run build && npm run docs:json | |
- name: tsdoc @example checks | |
run: npm run test:examples | |
test-html-examples: | |
name: Run HTML Examples | |
permissions: | |
contents: read | |
id-token: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Setup Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npm run build | |
- name: Code example tests | |
run: npm run test:html | |
test-lint: | |
name: Linting and environment checks | |
permissions: | |
contents: read | |
id-token: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Setup Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm install | |
- name: Linting | |
run: npm run lint | |
test-readme: | |
name: Ensure that examples in the README compile | |
permissions: | |
contents: read | |
id-token: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Setup Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npm run build | |
- name: Test | |
run: npm run test:readme | |
publish: | |
runs-on: ubuntu-latest | |
# make sure all the tests pass first | |
needs: [run-tests, test-code-examples, test-html-examples, test-lint, test-readme] | |
# not on PRs | |
if: github.event_name != 'pull_request' | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_CI: true | |
steps: | |
- uses: actions/checkout@v4 | |
# Setup .npmrc file to publish to npm | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18.12.0 | |
registry-url: 'https://registry.npmjs.org' | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npm run build | |
- name: Increment version | |
run: npm run increment | |
- name: Publish @next | |
# dev branch gets published with @next tag | |
run: npm publish --tag next | |
if: ${{ github.ref == 'refs/heads/dev' }} | |
- name: Publish @latest | |
# main branch gets published with @latest tag | |
run: npm publish | |
if: ${{ github.ref == 'refs/heads/main' }} |