name: Rebuild distributables for Dependabot PRs on: push: branches: - 'dependabot/npm**' # No permissions needed for `GITHUB_TOKEN` since we're using a PAT instead permissions: {} jobs: rebuild-dist: if: ${{ github.event.sender.login == 'dependabot[bot]' }} # This allows a subsequently queued workflow run to interrupt previous runs. # It is evaluated AFTER the job's `if` condition, so a push triggered by this # workflow's PAT will NOT interrupt a run triggered by a push from Dependabot. concurrency: group: '${{ github.workflow }} / ${{ github.job }} @ ${{ github.ref }}' cancel-in-progress: true runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 with: token: ${{ secrets.PAGES_AUTOMATION_PAT }} # check the node version from the .node-version file - name: fetch node version id: node-version run: | version=$(cat .node-version) echo "version=${version}" >> $GITHUB_OUTPUT - name: setup node uses: actions/setup-node@v3 with: node-version: ${{ steps.node-version.outputs.version }} cache: npm - name: install dependencies run: npm ci - name: rebuild the dist/ directory run: npm run prepare - name: commit any differences present in the dist/ directory run: | if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then echo "Detected uncommitted changes after rebuild in dist folder. Committing..." git add dist/ git config --local user.name "github-actions[bot]" git config --local user.email "github-actions[bot]@users.noreply.github.com" git commit -m "Update distributables after Dependabot 🤖" echo "Pushing branch ${{ github.ref_name }}" git push origin ${{ github.ref_name }} fi