jf-roku/.github/workflows/lint.yml

82 lines
2.6 KiB
YAML
Raw Normal View History

name: lint
2023-03-06 01:12:46 +00:00
on:
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/en_US/translations.ts
- name: Save output of duplicate check
run: echo "tsDuplicates=$(xmlstarlet sel -t -m '/TS/context/message/source' -c '.' -nl ./locale/en_US/translations.ts | sort | uniq -d | awk '{ printf "%s", $0 }')" >> $GITHUB_ENV
- name: Check for duplicates
run: xmlstarlet sel -t -m '/TS/context/message/source' -f -o ' ' -c '.' -nl ./locale/en_US/translations.ts | sort | uniq -d
- name: Duplicates found
if: env.tsDuplicates != ''
run: exit 1
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
2023-12-16 01:47:11 +00:00
run: npm run lint-spelling