# In TypeScript actions, `dist/index.js` is a special file. When you reference # an action with `uses:`, `dist/index.js` is the code that will be run. For this # project, the `dist/index.js` file is generated from other source files through # the build process. We need to make sure that the checked-in `dist/index.js` # file matches what is expected from the build. # # This workflow will fail if the checked-in `dist/index.js` file does not match # what is expected from the build. name: Check dist/ on: push: branches: - main pull_request: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true jobs: check-dist: name: Check dist/ runs-on: ubuntu-latest permissions: contents: read statuses: write steps: - name: Checkout id: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: persist-credentials: false - uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4 - name: Install Dependencies id: install run: aube ci - name: Build dist/ Directory id: build run: aubr bundle - name: Compare Expected and Actual Directories id: diff run: | if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then echo "Detected uncommitted changes after build. See status below:" git diff --ignore-space-at-eol --text dist/ exit 1 fi # If index.js was different than expected, upload the expected version as # a workflow artifact. - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 if: ${{ failure() && steps.diff.conclusion == 'failure' }} with: name: dist path: dist/