Nochtadh leochaileachtaí i láimhseálaithe GitHub Actions, a ghlaoitear go huathoibríoch nuair a chuirtear iarratais tarraingthe isteach chuig stórlann pacáiste Nixpkgs, a úsáidtear i ndáileadh NixOS agus in éiceachóras bainisteoir pacáiste Nix. Lig an leochaileacht d'úsáideoir neamhúdaraithe comhartha a bhaint amach a thug rochtain léite agus scríofa ar chód foinse na bpacáistí uile a óstáiltear i Nixpkgs. Lig an comhartha seo modhnú díreach a dhéanamh ar aon phacáiste trí stórlann Git an tionscadail, ag seachaint na bpróiseas athbhreithnithe agus formheasa.
Léirigh taighdeoirí slándála an cumas chun Nixpkgs a chur i gcontúirt agus cód saincheaptha a instealladh in aon phacáiste i mí Dheireadh Fómhair seo caite ag comhdháil NixCon agus rinneadh paiste láithreach air i mbonneagar an tionscadail. Níor nochtadh sonraí an ionsaí ach bliain ina dhiaidh sin, áfach. Bhain an fhadhb le húsáid láimhseálaithe GitHub Actions i stórlann GitHub Nixpkgs, atá ceangailte leis an imeacht "pull_request_target" agus a dhéanann seiceálacha uathoibrithe ar iarratais tarraingthe nua.
Murab ionann agus an teagmhas "pull_request", tugtar rochtain léite/scríofa ar an timpeallacht tógála do láimhseálaithe i "pull_request_target", rud a éilíonn cúram speisialta agus tú ag obair le sonraí a chuirtear ar aghaidh in iarratas tarraingthe. Rinne ceann de na láimhseálaithe atá ceangailte le "pull_request_target" bailíochtú ar an gcomhad "OWNERS" a cuireadh ar fáil san iarratas tarraingthe tríd an bhfóntas codeowners-validator a thógáil agus a ghlaoch: céimeanna: — úsáideann: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf le: ref: refs/pull/$/merge cosán: pr — rith: nix-build base/ci -A codeownersValidator — rith: result/bin/codeowners-validator timpeallacht: OWNERS_COMHAD: pr/ci/OWNERS
Ba é an fhadhb a bhí ann ná dá mbeadh an comhad OWNERS formáidithe go mícheart, go n-aschurfadh an fóntais codeowners-validator ábhar an teaghráin mhífhoirmithe chuig an log caighdeánach, atá inrochtana go poiblí. Ba éard a bhí san ionsaí ná nasc siombalach darb ainm OWNERS a chur san iarratas tarraingthe, ag pointeáil chuig an gcomhad ".credentials", a stórálann dintiúir sa timpeallacht tógála. Dá bhrí sin, tharla earráid agus an comhad seo á phróiseáil agus aschuradh an chéad líne, ina raibh an comhartha rochtana stórais, chuig an log poiblí.

Ina theannta sin, thángthas ar leochaileacht eile sa láimhseálaí a sheiceálann rialacha editorconfig. céimeanna: — ainm: Faigh liosta de na comhaid athraithe ó PR rith: gh api […] | jq [ … ] > «$HOME/changed_files» — úsáideann: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 le: ref: refs/pull/$/merge — ainm: Ag Seiceáil EditorConfig rith: cat «$HOME/changed_files» | xargs -r editorconfig-checker
Sa chás seo, ba é an fhadhb ná úsáid an fhóntais "xargs" chun editorconfig-checker a rith le gach comhad san iarratas tarraingthe. Ós rud é nach raibh ainmneacha comhad bailíochtúite, d'fhéadfadh ionsaitheoir comhad ina bhfuil carachtair speisialta a chur san iarratas tarraingthe, a phróiseálfaí mar argóintí líne ordaithe agus editorconfig-checker á rith. Mar shampla, agus comhad "--help" á chruthú, thaispeánfadh editorconfig-checker leid faoi na roghanna atá ar fáil.
Foinse: oscailtenet.ru
