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' && !contains(github.event.pull_request.title, '[skip editorconfig]')"
steps :
- name : Get list of changed files from PR
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
run : |
gh api \
repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
> "$HOME/changed_files"
- name : print list of changed files
run : |
cat "$HOME/changed_files"
- uses : actions/checkout@v3
with :
# pull_request_target checks out the base branch by default
ref : refs/pull/${{ github.event.pull_request.number }}/merge
- uses : cachix/install-nix-action@v17
with :
# nixpkgs commit is pinned so that it doesn't break
# editorconfig-checker 2.4.0
nix_path : nixpkgs=https://github.com/NixOS/nixpkgs/archive/c473cc8714710179df205b153f4e9fa007107ff9.tar.gz
- name : install editorconfig-checker
run : nix-env -iA editorconfig-checker -f '<nixpkgs>'
- name : Checking EditorConfig
run : |
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."