summary refs log tree commit diff
path: root/.github
diff options
context:
space:
mode:
authorMoritz Hedtke <Moritz.Hedtke@t-online.de>2021-11-27 20:35:29 +0100
committerzowoq <59103226+zowoq@users.noreply.github.com>2021-11-30 09:41:52 +1000
commit4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4 (patch)
tree5c92733f1a1bef0541e83d85a82175d567f1e63a /.github
parentd8d3cb95e9c05e56d517a369ccbe15fedd82edc3 (diff)
downloadnixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar.gz
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar.bz2
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar.lz
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar.xz
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.tar.zst
nixpkgs-4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4.zip
.github/workflows/editorconfig.yml: Don't use GitHub API for PR diff.
This caused ratelimits for large PRs (reformatting PRs)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/editorconfig.yml33
1 files changed, 15 insertions, 18 deletions
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml
index 4cd3a1dfa8e..7433d03eea7 100644
--- a/.github/workflows/editorconfig.yml
+++ b/.github/workflows/editorconfig.yml
@@ -13,33 +13,30 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-    - name: Get list of changed files from PR
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      run: |
-        echo 'PR_DIFF<<EOF' >> $GITHUB_ENV
-        gh api \
-          repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
-          | jq '.[] | select(.status != "removed") | .filename' \
-          >> $GITHUB_ENV
-        echo 'EOF' >> $GITHUB_ENV
     - uses: actions/checkout@v2
-      with:
-        # pull_request_target checks out the base branch by default
-        ref: refs/pull/${{ github.event.pull_request.number }}/merge
-      if: env.PR_DIFF
     - uses: cachix/install-nix-action@v16
-      if: env.PR_DIFF
       with:
         # nixpkgs commit is pinned so that it doesn't break
         nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/f93ecc4f6bc60414d8b73dbdf615ceb6a2c604df.tar.gz
     - name: install editorconfig-checker
       run: nix-env -iA editorconfig-checker -f '<nixpkgs>'
-      if: env.PR_DIFF
+    - name: Get list of changed files from PR
+      run: |
+        git fetch origin --depth 1 ${{ github.event.pull_request.head.sha }}
+        git checkout ${{ github.event.pull_request.head.sha }}
+
+        git fetch origin --depth 1 ${{ github.event.pull_request.base.sha }}
+        git checkout ${{ github.event.pull_request.base.sha }}
+
+        git fetch origin --depth 1 pull/${{ github.event.pull_request.number }}/merge
+        # check this out last as editorconfig should check this commit
+        git checkout FETCH_HEAD
+
+        # everything except --diff-filter=D (deleted)
+        git diff --diff-filter=ACMRTUXB --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > $HOME/changed_files
     - name: Checking EditorConfig
-      if: env.PR_DIFF
       run: |
-        echo "$PR_DIFF" | xargs editorconfig-checker -disable-indent-size
+        cat $HOME/changed_files | xargs -r editorconfig-checker -disable-indent-size
     - if: ${{ failure() }}
       run: |
         echo "::error :: Hey! It looks like your changes don't follow our editorconfig settings. Read https://editorconfig.org/#download to configure your editor so you never see this error again."