mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 11:03:15 +03:00

We have a pinned nixpkgs revision for all our CI tools, but we're not making use of it for editorconfig-checker. Instead, it has it's own, unmaintained, pin. Let's fix that. On the way, we're upgrading the tool to 3.2.1, which requires adjusting our .editorconfig file slightly to ignore auto-generated package-lock.json files.
52 lines
1.9 KiB
YAML
52 lines
1.9 KiB
YAML
name: "Checking EditorConfig v2"
|
|
|
|
on:
|
|
pull_request_target:
|
|
|
|
permissions: {}
|
|
|
|
jobs:
|
|
get-merge-commit:
|
|
uses: ./.github/workflows/get-merge-commit.yml
|
|
|
|
tests:
|
|
name: editorconfig-check
|
|
runs-on: ubuntu-24.04
|
|
needs: get-merge-commit
|
|
if: "needs.get-merge-commit.outputs.mergedSha && !contains(github.event.pull_request.title, '[skip treewide]')"
|
|
steps:
|
|
- name: Get list of changed files from PR
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh api \
|
|
repos/${{ github.repository }}/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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
ref: ${{ needs.get-merge-commit.outputs.mergedSha }}
|
|
|
|
- name: Get Nixpkgs revision for editorconfig-checker
|
|
run: |
|
|
# Pin to a commit from nixpkgs-unstable to avoid building from e.g. staging.
|
|
# This should not be a URL, because it would allow PRs to run arbitrary code in CI!
|
|
rev=$(jq -r .rev ci/pinned-nixpkgs.json)
|
|
echo "url=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz" >> "$GITHUB_ENV"
|
|
|
|
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
|
with:
|
|
nix_path: nixpkgs=${{ env.url }}
|
|
|
|
- name: Checking EditorConfig
|
|
run: |
|
|
< "$HOME/changed_files" nix-shell -p editorconfig-checker --run '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."
|