Merge branch 'develop' into spaceship #1
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
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@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
cache-dependency-path: '**/package.json' | |
- 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@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
cache-dependency-path: '**/package.json' | |
- name: Detect changed files | |
uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
list-files: shell | |
filters: | | |
docs: | |
- '*.md' | |
- '.github/**.md' | |
icons: | |
- 'icons/*.svg' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install dependencies | |
run: npm i | |
- name: Run linter | |
run: npm run lint --icons='${{ steps.changes.outputs.icons_files }}' | |
env: | |
# Authorise GitHub API requests for editorconfig-checker | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- 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@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
cache-dependency-path: '**/package.json' | |
- name: Install dependencies | |
run: npm i | |
- name: Run tests | |
run: npm run test |