From 4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4 Mon Sep 17 00:00:00 2001 From: Moritz Hedtke Date: Sat, 27 Nov 2021 20:35:29 +0100 Subject: .github/workflows/editorconfig.yml: Don't use GitHub API for PR diff. This caused ratelimits for large PRs (reformatting PRs) --- .github/workflows/editorconfig.yml | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) (limited to '.github') 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<> $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 '' - 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." -- cgit 1.4.1