123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # `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@v3
- - name: Set Node.js 20.x
- uses: actions/setup-node@v1
- with:
- node-version: 20.x
- - name: Install dependencies
- run: npm ci
- - name: Rebuild the index.js file
- 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
- # If dist/ 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/
|