Skip to content

Merge pull request #105 from TwelveIterationMods/dependabot/npm_and_y… #210

Merge pull request #105 from TwelveIterationMods/dependabot/npm_and_y…

Merge pull request #105 from TwelveIterationMods/dependabot/npm_and_y… #210

Workflow file for this run

# `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@v4
- name: Set Node.js 16.x
uses: actions/[email protected]
with:
node-version: 16.x
- 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. 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@v4
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
with:
name: dist
path: dist/
- name: Create a pull request to fix the dist/ directory
if: ${{ failure() && steps.diff.conclusion == 'failure' && github.event_name == 'push' }}
run: |
git config user.name "GitHub Actions"
git config user.email "<>"
git switch -c $PR_BRANCH
git commit -am "Rebuild dist from sources"
git push --force origin $PR_BRANCH
gh pr create \
--head "${PR_BRANCH}" \
--base "${TARGET_BRANCH}" \
--title "Rebuild dist for ${TARGET_BRANCH}" \
--body "Rebuilt dist for ${TARGET_BRANCH} from sources."
shell: bash
env:
PR_BRANCH: actions/rebuild-dist
TARGET_BRANCH: ${{ github.ref_name }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}