GitHub Actions แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒแƒ› Nixpkgs-แƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ แƒแƒ›แƒ”แƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒชแƒ.

แƒ’แƒแƒ›แƒแƒ•แƒšแƒ˜แƒœแƒ“แƒ GitHub Actions แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ Nixpkgs แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ pull request-แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒกแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ NixOS แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒแƒกแƒ แƒ“แƒ Nix แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒ”แƒ™แƒแƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜. แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ แƒแƒ แƒแƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒ“แƒ แƒ›แƒ˜แƒ”แƒฆแƒ แƒขแƒแƒ™แƒ”แƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช Nixpkgs-แƒจแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒกแƒแƒฌแƒงแƒ˜แƒก แƒ™แƒแƒ“แƒ–แƒ” แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒ“แƒ. แƒ”แƒก แƒขแƒแƒ™แƒ”แƒœแƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒซแƒšแƒ”แƒแƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก Git แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—.

Nixpkgs-แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ แƒแƒ›แƒ”แƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒžแƒแƒ™แƒ”แƒขแƒจแƒ˜ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ’แƒแƒกแƒฃแƒšแƒ˜ แƒฌแƒšแƒ˜แƒก แƒแƒฅแƒขแƒแƒ›แƒ‘แƒ”แƒ แƒจแƒ˜ NixCon แƒ™แƒแƒœแƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒแƒ–แƒ” แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒแƒ แƒ”แƒ‘แƒ›แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒก แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒจแƒ”แƒขแƒ”แƒ•แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒฌแƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒฎแƒ“แƒ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ Nixpkgs GitHub แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ GitHub Actions แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ โ€žpull_request_targetโ€œ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒแƒกแƒ—แƒแƒœ แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ pull แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ  แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒœ.

โ€žpull_requestโ€œ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, โ€žpull_request_targetโ€œ-แƒจแƒ˜ แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒแƒ— แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก/แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ”, แƒ แƒแƒช แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒš แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก pull แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก. โ€žpull_request_targetโ€œ-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ“แƒ pull แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒš โ€žOWNERSโ€œ แƒคแƒแƒ˜แƒšแƒก codeowners-validator แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ˜แƒ—แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒ—: steps: โ€” uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf with: ref: refs/pull/$/merge path: pr โ€” run: nix-build base/ci -A codeownersValidator โ€” run: result/bin/codeowners-validator env: OWNERS_FILE: pr/ci/OWNERS

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒ—แƒฃ OWNERS แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, codeowners-validator แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒคแƒแƒ แƒ›แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒš, แƒกแƒแƒฏแƒแƒ แƒแƒ“ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ› แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒขแƒแƒœแƒ“แƒ. แƒจแƒ”แƒขแƒ”แƒ•แƒ แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒ“แƒ pull request-แƒจแƒ˜ OWNERS แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ“แƒ ".credentials" แƒคแƒแƒ˜แƒšแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒแƒ› แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒ› แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ แƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒฎแƒแƒ–แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒ™แƒ”แƒœแƒก, แƒ’แƒแƒ›แƒแƒ˜แƒขแƒแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒกแƒแƒฏแƒแƒ แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜.

 GitHub Actions แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒแƒ› Nixpkgs-แƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ แƒแƒ›แƒ”แƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒชแƒ.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก editorconfig แƒฌแƒ”แƒกแƒ”แƒ‘แƒก. steps: โ€” name: แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ PR แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ: gh api [โ€ฆ] | jq [ โ€ฆ ] > ยซ$HOME/changed_filesยป โ€” uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 with: ref: refs/pull/$/merge โ€” name: EditorConfig-แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ: cat ยซ$HOME/changed_filesยป | xargs -r editorconfig-checker

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒงแƒ โ€žxargsโ€œ-แƒ˜แƒก แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ editorconfig-checker-แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ pull แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒคแƒแƒ˜แƒšแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แƒ แƒแƒ“แƒ’แƒแƒœ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ—แƒแƒ•แƒ“แƒแƒ›แƒกแƒฎแƒ›แƒ”แƒšแƒก แƒจแƒ”แƒ”แƒซแƒšแƒ pull แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒšแƒแƒ‘แƒแƒจแƒ˜ แƒฉแƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒœแƒ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒชแƒ•แƒ”แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช editorconfig-checker-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒแƒ“. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, โ€ž--helpโ€œ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก, editorconfig-checker แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ“แƒ แƒ›แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒแƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ