added npm version badge and link to edit docs to README.md #45
Workflow file for this run
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
--- | |
# docs at: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
name: CI | |
on: [push, pull_request] | |
jobs: | |
# TODO: check project builds/compiles correctly, maybe with tsc TypeScript compiler? | |
# TODO: add tests including coverage | |
lint_files: | |
name: Lint source files | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- run: npm ci | |
- name: Lint source files with Prettier | |
run: > | |
npx prettier --check | |
. | |
--config | |
.prettierrc.yaml | |
--ignore-path | |
.prettierignore | |
- name: Lint source files with ESLint | |
run: > | |
npx eslint | |
. | |
--config | |
.eslintrc.yaml | |
--ignore-path | |
.eslintignore | |
check-npm-dependencies: | |
name: Check npm dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- run: npm ci | |
- name: Scan for known vulnerabilities in dependencies with npm audit | |
run: > | |
npm audit | |
--audit-level | |
critical | |
- name: Check for unused and missing dependencies with depcheck | |
run: > | |
npx depcheck | |
--ignores | |
typescript,prettier | |
- name: Check for outdated packages with npm outdated | |
run: npm outdated | |
- name: Check for outdated packages with npm-check-updates | |
run: npx npm-check-updates | |
find_todos: | |
name: Search for TODOs etc | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Search for TODO, FIXME, and BUG statements in source files | |
run: > | |
if grep | |
--recursive | |
--extended-regexp | |
--with-filename | |
--line-number | |
--color=always | |
"TODO|FIXME|BUG" | |
./src; | |
then exit 1; | |
else | |
echo "No TODO, FIXME, or BUG statements found in source files."; | |
fi | |
typos_spell_check: | |
name: Check spelling with typos | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check spelling with typos | |
uses: crate-ci/typos@master | |
with: | |
config: .typos.toml | |
lint_markdown_files: | |
name: Lint Markdown files | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: articulate/actions-markdownlint@v1 | |
with: | |
files: '*.md' | |
ignore: '**/node_modules' | |
commitlint: | |
name: Enforce Conventional Commits | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Check the commits conform to the Conventional Commits specification with commitlint | |
uses: wagoid/commitlint-github-action@v5 | |
# TODO: check commits squashed into one (i.e. all changes in a PR are in one commit after last one in primary branch) | |
# TODO: use release-please to increment version number, update changelog, and publish releases automatically if CI passes |