download-artifact/.github/workflows/check-dist.yml
Diogo Kiss db818027c2 fix: ensure that the right version of NodeJS is installed
It's smart to keep the NodeJS version pinned so we can run all build jobs
consistently.

Otherwise, we might run into some versions mismatch like below:
```
npm ERR! While resolving: @typescript-eslint/parser@2.30.0
npm ERR! Found: eslint@7.4.0
npm ERR! node_modules/eslint
npm ERR!   dev eslint@"^7.4.0" from the root project
npm ERR!   peer eslint@"^5.0.0 || ^6.0.0 || ^7.0.0" from @typescript-eslint/eslint-plugin@4.11.1
npm ERR!   node_modules/@typescript-eslint/eslint-plugin
npm ERR! @typescript-eslint/eslint-plugin@">=2.25.0" from eslint-plugin-github@4.1.1
npm ERR! node_modules/eslint-plugin-github
npm ERR!   dev eslint-plugin-github@"^4.1.1" from the root project
npm ERR!   7 more (@typescript-eslint/experimental-utils, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^5.0.0 || ^6.0.0" from @typescript-eslint/parser@2.30.0
npm ERR! node_modules/@typescript-eslint/parser
npm ERR!   dev @typescript-eslint/parser@"^2.30.0" from the root project
npm ERR!   @typescript-eslint/parser@">=2.25.0" from eslint-plugin-github@4.1.1
npm ERR!   node_modules/eslint-plugin-github
npm ERR! dev eslint-plugin-github@"^4.1.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: eslint@6.8.0
npm ERR! node_modules/eslint
npm ERR!   peer eslint@"^5.0.0 || ^6.0.0" from @typescript-eslint/parser@2.30.0
npm ERR!   node_modules/@typescript-eslint/parser
npm ERR! dev @typescript-eslint/parser@"^2.30.0" from the root project
npm ERR! @typescript-eslint/parser@">=2.25.0" from eslint-plugin-github@4.1.1
npm ERR! node_modules/eslint-plugin-github
npm ERR!   dev eslint-plugin-github@"^4.1.1" from the root project
```
2022-10-13 13:53:17 +02:00

52 lines
1.4 KiB
YAML

# `dist/index.js` is a special file in Actions.
# When you reference an action with `uses:` in a workflow,
# `index.js` is the code that will run.
# For our project, we generate this file through a build process
# from other source files.
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
name: Check dist
on:
push:
branches:
- main
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
check-dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: npm ci
- name: Rebuild the dist/ directory
run: npm run build
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
exit 1
fi
id: diff
# If index.js was different than expected, upload the expected version as an artifact
- uses: actions/upload-artifact@v2
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
with:
name: dist
path: dist/