# When you reference this Action with `uses:` in a workflow, # `dist/index.js` is the code that will run. # For our project, we generate this file using `ncc`. # We need to make sure the checked-in `dist/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: permissions: contents: read # This allows a subsequently queued workflow run to interrupt previous runs concurrency: group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' cancel-in-progress: true jobs: check-dist: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 20.x cache: 'npm' - name: Install dependencies run: npm ci - name: Rebuild the dist/ directory run: npm run prepare - 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 in dist folder. See status below:" git diff exit 1 fi