ืคื’ื™ืขื•ืช ื‘ืžื˜ืคืœ ื”ืคืขื•ืœื•ืช ืฉืœ GitHub ืืคืฉืจื” ืคื’ื™ืขื” ื‘ื—ื‘ื™ืœื•ืช ื‘-Nixpkgs.

ื ื—ืฉืคื• ืคื’ื™ืขื•ื™ื•ืช ื‘-GitHub Actions handlers, ืืฉืจ ืžื•ืคืขืœื•ืช ืื•ื˜ื•ืžื˜ื™ืช ื‘ืขืช ื”ื’ืฉืช ื‘ืงืฉื•ืช pull ืœืžืื’ืจ ื”ื—ื‘ื™ืœื•ืช Nixpkgs, ื”ืžืฉืžืฉ ื‘ื”ืคืฆืช NixOS ื•ื‘ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœ ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช Nix. ื”ืคื’ื™ืขื•ืช ืืคืฉืจื” ืœืžืฉืชืžืฉ ืœื ืžื•ืจืฉื” ืœื—ืœืฅ ืืกื™ืžื•ืŸ ื”ืžืขื ื™ืง ื’ื™ืฉืช ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ืœืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื›ืœ ื”ื—ื‘ื™ืœื•ืช ื”ืžืื•ื—ืกื ื•ืช ื‘-Nixpkgs. ืืกื™ืžื•ืŸ ื–ื” ืืคืฉืจ ืฉื™ื ื•ื™ ื™ืฉื™ืจ ืฉืœ ื›ืœ ื—ื‘ื™ืœื” ื“ืจืš ืžืื’ืจ Git ืฉืœ ื”ืคืจื•ื™ืงื˜, ืชื•ืš ืขืงื™ืคืช ืชื”ืœื™ื›ื™ ื”ื‘ื“ื™ืงื” ื•ื”ืื™ืฉื•ืจ.

ื”ื™ื›ื•ืœืช ืœืคื’ื•ืข ื‘-Nixpkgs ื•ืœื”ื–ืจื™ืง ืงื•ื“ ืžื•ืชืื ืื™ืฉื™ืช ืœื›ืœ ื—ื‘ื™ืœื” ื”ื•ื“ื’ืžื” ืขืœ ื™ื“ื™ ื—ื•ืงืจื™ ืื‘ื˜ื—ื” ื‘ืื•ืงื˜ื•ื‘ืจ ื”ืื—ืจื•ืŸ ื‘ื›ื ืก NixCon ื•ืชื•ืงื ื” ืžื™ื“ ื‘ืชืฉืชื™ืช ื”ืคืจื•ื™ืงื˜. ืขื ื–ืืช, ืคืจื˜ื™ ื”ืžืชืงืคื” ื ื—ืฉืคื• ืจืง ืฉื ื” ืœืื—ืจ ืžื›ืŸ. ื”ื‘ืขื™ื” ื”ื™ื™ืชื” ืงืฉื•ืจื” ืœืฉื™ืžื•ืฉ ื‘-GitHub Actions handlers ื‘ืžืื’ืจ GitHub ืฉืœ Nixpkgs, ืืฉืจ ืงืฉื•ืจื™ื ืœืื™ืจื•ืข "pull_request_target" ื•ืžื‘ืฆืขื™ื ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช ืœืื—ืจ ื‘ืงืฉื•ืช ืžืฉื™ื›ื” ื—ื“ืฉื•ืช.

ื‘ืฉื•ื ื” ืžืื™ืจื•ืข "pull_request", ืžื˜ืคืœื™ื ื‘-"pull_request_target" ืžืงื‘ืœื™ื ื’ื™ืฉืช ืงืจื™ืื”/ื›ืชื™ื‘ื” ืœืกื‘ื™ื‘ืช ื”ื‘ื ื™ื™ื”, ื“ื‘ืจ ื”ื“ื•ืจืฉ ื–ื”ื™ืจื•ืช ืžื™ื•ื—ื“ืช ื‘ืขืช ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื ื”ืžื•ืขื‘ืจื™ื ื‘ื‘ืงืฉืช ืžืฉื™ื›ื”. ืื—ื“ ื”ืžื˜ืคืœื™ื ื”ืžืงื•ืฉืจ ืœ-"pull_request_target" ืื™ืžืช ืืช ืงื•ื‘ืฅ ื”-"OWNERS" ืฉืกื•ืคืง ื‘ื‘ืงืฉืช ื”ืžืฉื™ื›ื” ืขืœ ื™ื“ื™ ื‘ื ื™ื™ื” ื•ืงืจื™ืื” ืœื›ืœื™ codeowners-validator: ืฉืœื‘ื™ื: โ€” ืžืฉืชืžืฉ ื‘: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf ืขื: 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 ื”ื™ื” ืžื•ืฆื™ื ืืช ืชื•ื›ืŸ ื”ืžื—ืจื•ื–ืช ื”ืคื’ื•ืžื” ืœื™ื•ืžืŸ ื”ืกื˜ื ื“ืจื˜ื™ ื•ื”ื ื’ื™ืฉ ืœืฆื™ื‘ื•ืจ. ื”ื”ืชืงืคื” ื›ืœืœื” ื”ืฆื‘ืช ืงื™ืฉื•ืจ ืกืžืœื™ ื‘ืฉื OWNERS ื‘ื‘ืงืฉืช ื”ืžืฉื™ื›ื”, ื”ืžืฆื‘ื™ืข ืขืœ ืงื•ื‘ืฅ ื”-".credentials", ื”ืžืื—ืกืŸ ืื™ืฉื•ืจื™ื ื‘ืกื‘ื™ื‘ืช ื”ื‘ื ื™ื™ื”. ื›ืชื•ืฆืื” ืžื›ืš, ืขื™ื‘ื•ื“ ืงื•ื‘ืฅ ื–ื” ื”ื‘ื™ื ืœืฉื’ื™ืื” ื•ื”ืฉื•ืจื” ื”ืจืืฉื•ื ื”, ื”ืžื›ื™ืœื” ืืช ืืกื™ืžื•ืŸ ื”ื’ื™ืฉื” ืœืžืื’ืจ, ื”ื•ืคืฆื” ืœื™ื•ืžืŸ ื”ืฆื™ื‘ื•ืจื™.

 ืคื’ื™ืขื•ืช ื‘ืžื˜ืคืœ ื”ืคืขื•ืœื•ืช ืฉืœ GitHub ืืคืฉืจื” ืคื’ื™ืขื” ื‘ื—ื‘ื™ืœื•ืช ื‘-Nixpkgs.

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

ื‘ืžืงืจื” ื–ื”, ื”ื‘ืขื™ื” ื”ื™ื™ืชื” ื”ืฉื™ืžื•ืฉ ื‘ื›ืœื™ "xargs" ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช editorconfig-checker ืขื ื›ืœ ืงื•ื‘ืฅ ื‘ื‘ืงืฉืช ื”-pull. ืžื›ื™ื•ื•ืŸ ืฉืฉืžื•ืช ื”ืงื‘ืฆื™ื ืœื ืื•ืžืชื•, ืชื•ืงืฃ ื™ื›ื•ืœ ื”ื™ื” ืœื›ืœื•ืœ ืงื•ื‘ืฅ ื”ืžื›ื™ืœ ืชื•ื•ื™ื ืžื™ื•ื—ื“ื™ื ื‘ื‘ืงืฉืช ื”-pull, ืืฉืจ ื™ืขื•ื‘ื“ื• ื›ืืจื’ื•ืžื ื˜ื™ื ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ื‘ืขืช ื”ืคืขืœืช editorconfig-checker. ืœื“ื•ื’ืžื”, ื‘ืขืช ื™ืฆื™ืจืช ืงื•ื‘ืฅ "--help", editorconfig-checker ื™ืฆื™ื’ ืจืžื– ืœื’ื‘ื™ ื”ืืคืฉืจื•ื™ื•ืช ื”ื–ืžื™ื ื•ืช.

ืžืงื•ืจ: OpenNet.ru

ืงื ื” ืื™ืจื•ื— ืืžื™ืŸ ืœืืชืจื™ื ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS ๐Ÿ”ฅ ืงื ื” ืื—ืกื•ืŸ ืืชืจื™ื ืืžื™ืŸ ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS | ProHoster