75 lines
2.3 KiB
YAML
75 lines
2.3 KiB
YAML
name: lint
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
brightscript:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions/setup-node@master
|
|
with:
|
|
node-version: "lts/*"
|
|
cache: "npm"
|
|
- run: npm ci
|
|
- run: npx ropm install
|
|
- run: npm run validate
|
|
- run: npm run check-formatting
|
|
translation-files:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone github repo
|
|
uses: actions/checkout@master
|
|
- name: Install xmllint and xmlstarlet using apt (from cache)
|
|
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
with:
|
|
packages: libxml2-utils xmlstarlet
|
|
- name: Validate XML syntax
|
|
run: xmllint --noout ./locale/*/*.ts
|
|
- name: Check XML for duplicate entries
|
|
run: xmlstarlet sel -t -m '/TS/context/message/source' -o 'Duplicate entry found in:' -f -o ' ' -c '.' -nl ./locale/*/*.ts | sort | uniq -d
|
|
json:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone github repo
|
|
uses: actions/checkout@master
|
|
- uses: actions/setup-node@master
|
|
with:
|
|
node-version: "lts/*"
|
|
cache: "npm"
|
|
- name: Install npm dependencies
|
|
run: npm ci
|
|
- name: Install roku package dependencies
|
|
run: npx ropm install
|
|
- name: Validate JSON syntax
|
|
run: npm run lint-json
|
|
markdown:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone github repo
|
|
uses: actions/checkout@master
|
|
- uses: actions/setup-node@master
|
|
with:
|
|
node-version: "lts/*"
|
|
cache: "npm"
|
|
- name: Install npm dependencies
|
|
run: npm ci
|
|
- name: Install roku package dependencies
|
|
run: npx ropm install
|
|
- uses: xt0rted/markdownlint-problem-matcher@98d94724052d20ca2e06c091f202e4c66c3c59fb # v2
|
|
- name: Lint markdown files
|
|
run: npm run lint-markdown
|
|
spelling:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone github repo
|
|
uses: actions/checkout@master
|
|
- uses: actions/setup-node@master
|
|
with:
|
|
node-version: "lts/*"
|
|
cache: "npm"
|
|
- name: Install npm dependencies
|
|
run: npm ci
|
|
- name: Install roku package dependencies
|
|
run: npx ropm install
|
|
- name: Check markdown files for spelling errors
|
|
run: npm run lint-spelling |