GitHub Actions рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреЗ рдХрд╛рд░рдг Nixpkgs рдореЗрдВ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

NixOS рд╡рд┐рддрд░рдг рдФрд░ Nix рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд Nixpkgs рдкреИрдХреЗрдЬ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рддреЗ рд╕рдордп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ GitHub Actions рд╣реИрдВрдбрд▓рд░реНрд╕ рдореЗрдВ рдХрдордЬрд╝реЛрд░рд┐рдпреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕ рдХрдордЬрд╝реЛрд░реА рдХреЗ рдХрд╛рд░рдг рдПрдХ рдЕрдирдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Nixpkgs рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЯреЛрдХрди рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рдерд╛ред рдЗрд╕ рдЯреЛрдХрди рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрди рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред

Nixpkgs рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдореЗрдВ рдХрд╕реНрдЯрдо рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд┐рдЫрд▓реЗ рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ NixCon рд╕рдореНрдореЗрд▓рди рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рддреБрд░рдВрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдореЗрдВ рдкреИрдЪ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдорд▓реЗ рдХрд╛ рд╡рд┐рд╡рд░рдг рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣реА рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдпрд╣ рд╕рдорд╕реНрдпрд╛ Nixpkgs GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ GitHub Actions рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереА, рдЬреЛ "pull_request_target" рдЗрд╡реЗрдВрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдирдП рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВред

"pull_request" рдЗрд╡реЗрдВрдЯ рдХреЗ рд╡рд┐рдкрд░реАрдд, "pull_request_target" рдореЗрдВ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рдмрд┐рд▓реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдБрдЪ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред "pull_request_target" рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВрдбрд▓рд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдХреЛрдбрдУрдирд░реНрд╕-рд╡реИрд▓рд┐рдбреЗрдЯрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЛ рдмрдирд╛рдХрд░ рдФрд░ рдХреЙрд▓ рдХрд░рдХреЗ рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ рджреА рдЧрдИ "OWNERS" рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд┐рдпрд╛: рдЪрд░рдг: тАФ рдЙрдкрдпреЛрдЧ: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf рдХреЗ рд╕рд╛рде: ref: refs/pull/$/merge рдкрде: pr тАФ рд░рди: nix-build base/ci -A codeownersValidator тАФ рд░рди: result/bin/codeowners-validator env: OWNERS_FILE: pr/ci/OWNERS

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдЕрдЧрд░ OWNERS рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдлрд╝реЙрд░реНрдореЗрдЯ рдЧрд▓рдд рдерд╛, рддреЛ рдХреЛрдбрдУрдирд░реНрд╕-рд╡реИрд▓рд┐рдбреЗрдЯрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЙрд╕ рд╡рд┐рдХреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдорд╛рдирдХ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд▓рдн рд▓реЙрдЧ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рджреЗрддреАред рдЗрд╕ рд╣рдорд▓реЗ рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ OWNERS рдирд╛рдо рдХрд╛ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рдерд╛, рдЬреЛ ".credentials" рдлрд╝рд╛рдЗрд▓ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рдерд╛, рдЬреЛ рдмрд┐рд▓реНрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рд╡рд╛рд▓реА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓реЙрдЧ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ рдЧрдИред

 GitHub Actions рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреЗ рдХрд╛рд░рдг Nixpkgs рдореЗрдВ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ рдФрд░ рднреЗрджреНрдпрддрд╛ рдкрд╛рдИ рдЧрдИ рдЬреЛ editorconfig рдирд┐рдпрдореЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред рдЪрд░рдг: тАФ рдирд╛рдо: PR рд╕реЗ рдмрджрд▓реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рд░рди: gh api [тАж] | jq [тАж] > ┬л$HOME/changed_files┬╗ тАФ рдЙрдкрдпреЛрдЧ: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 рдХреЗ рд╕рд╛рде: ref: refs/pull/$/merge тАФ рдирд╛рдо: EditorConfig рдХреА рдЬрд╛рдБрдЪ рд░рди: cat ┬л$HOME/changed_files┬╗ | xargs -r editorconfig-checker

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде editorconfig-checker рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП "xargs" рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдереАред рдЪреВрдБрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЬрд┐рд╕реЗ editorconfig-checker рдЪрд▓рд╛рддреЗ рд╕рдордп рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "--help" рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп, editorconfig-checker рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рдерд╛ред

рд╕реНрд░реЛрдд: opennet.ru

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрд╡рд░ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реАрджреЗрдВ ЁЯФе рдбреАрдбреАрдУрдПрд╕ рд╕реБрд░рдХреНрд╖рд╛, рд╡реАрдкреАрдПрд╕ рдФрд░ рд╡реАрдбреАрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реАрджреЗрдВ | ProHoster