diff options
Diffstat (limited to '.github/workflows/editorconfig.yml')
-rw-r--r-- | .github/workflows/editorconfig.yml | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml new file mode 100644 index 00000000000..4960e9fd3d2 --- /dev/null +++ b/.github/workflows/editorconfig.yml @@ -0,0 +1,46 @@ +name: "Checking EditorConfig" + +permissions: read-all + +on: + # avoids approving first time contributors + pull_request_target: + branches-ignore: + - 'release-**' + +jobs: + tests: + 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@v13 + 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: Checking EditorConfig + if: env.PR_DIFF + run: | + echo "$PR_DIFF" | xargs 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." + |