Merge branch 'develop' into github-copilot #41
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: Verify Source | |
on: [pull_request, push] | |
jobs: | |
build: | |
name: Build package | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install dependencies | |
run: npm i | |
- name: Build NodeJS package | |
run: npm run build | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install dependencies | |
run: npm i | |
- name: Run linter | |
run: npm run lint | |
- name: Detect changed documentation files | |
uses: dorny/paths-filter@v2 | |
id: changes | |
with: | |
list-files: shell | |
filters: | | |
docs: | |
- '*.md' | |
- '.github/**.md' | |
- name: Check documentation links | |
if: steps.changes.outputs.docs == 'true' | |
run: | | |
npx markdown-link-check --retry \ | |
--config .github/markdown-link-check.json \ | |
${{ steps.changes.outputs.docs_files }} | |
continue-on-error: ${{ github.ref == 'refs/heads/develop' }} | |
- name: Verify file permissions | |
run: | | |
CHECK_DIRS="icons/ _data/" | |
echo "Searching the following directories for executable files:" | |
echo "${CHECK_DIRS}" | |
echo "" | |
EXE_FILES=$(find ${CHECK_DIRS} -type f -executable) | |
if test -n "${EXE_FILES-}" | |
then | |
echo "Some files were detected to have their executable bit set." | |
echo "To fix this, you can use 'chmod -x PATH/TO/FILE' on the following files:" | |
echo "" | |
echo "${EXE_FILES}" | |
exit 1 | |
else | |
echo "All clear." | |
exit 0 | |
fi | |
test: | |
name: Test package | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install dependencies | |
run: npm i | |
- name: Run tests | |
run: npm run test |