diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml deleted file mode 100644 index 66bc632..0000000 --- a/.github/workflows/check-dist.yml +++ /dev/null @@ -1,57 +0,0 @@ -# `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: - -permissions: - contents: read - -jobs: - check-dist: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Set Node.js 20.x - uses: actions/setup-node@v4 - with: - node-version: 20.x - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Rebuild the dist/ directory - run: | - npm run build - npm run package - - - 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/ diff --git a/.github/workflows/ci-update-dist.yml b/.github/workflows/ci-update-dist.yml new file mode 100644 index 0000000..a8f5b93 --- /dev/null +++ b/.github/workflows/ci-update-dist.yml @@ -0,0 +1,53 @@ +name: CI-update-dist + +on: + workflow_dispatch: + push: + branches: + - 'main' + paths-ignore: + - 'dist/**' + +permissions: + contents: read + +jobs: + update-dist: + # Only run for the original DRA repository; otherwise when users create pull requests from their `main` branch + # it would erroneously update `dist` on their branch (and the pull request) + if: github.repository == 'actions/dependency-review-action' + permissions: + contents: write + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + token: ${{ secrets.BOT_GITHUB_TOKEN }} + + - name: Set up Node.js + uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 + with: + node-version: 20 + cache: npm + + - name: Install npm dependencies + run: | + npm clean-install + + - name: Build distribution + run: | + npm run build + npm run package + + # Commit and push changes; has no effect if the files did not change + # Important: The push event will not trigger any other workflows, see + # https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#commits-made-by-this-action-do-not-trigger-new-workflow-runs + - name: Commit & push changes + uses: stefanzweifel/git-auto-commit-action@28e16e81777b558cc906c8750092100bbb34c5e3 # v7.0.0 + with: + commit_author: 'github-actions[bot] ' + commit_user_name: 'github-actions[bot]' + commit_user_email: 'github-actions[bot]@users.noreply.github.com' + commit_message: '[bot] Update dist directory [skip ci]' + file_pattern: 'dist/'