Staidéir / S18
An méid a chosnaíonn eisiúintí do-athraithe i sreafaí oibre GitHub Actions
Cad a chosnaíonn eisiúintí do-athraithe GitHub (immutable releases) i sreafaí oibre Actions na stórtha móréilimh?
Achoimre
Ón 28 Deireadh Fómhair 2025, is féidir eisiúint GitHub a fhoilsiú mar eisiúint dho-athraithe: ní féidir a clib Git (tag) a bhogadh ná a scriosadh a thuilleadh. Deir doiciméadacht GitHub le húdair gníomhartha (actions) freisin nach mór gan clib ar mian leo leanúint dá nuashonrú, amhail clib an mhórleagain v1, a cheangal le heisiúint, agus molann sí dóibh “a mholadh d’úsáideoirí mórleagan a shonrú”. Leanann sreabhadh oibre ina scríobhtar uses: owner/action@v1 an úsáid dhoiciméadaithe bheartaithe sin, agus ní chosnaíonn eisiúintí do-athraithe é. Thomhaiseamar an méid a chosnaíonn an mheicníocht go praiticiúil, an 3 Deireadh Fómhair 2026, trí API GitHub amháin:
- A: an 1,000 stór is mó réaltaí i measc stórtha poiblí nach forcanna iad, nach bhfuil cartlannaithe agus ar brúdh athruithe chucu (push) le 90 lá anuas (teorainn 29,565 réalta);
- B: 500 stór a roghnaíodh go randamach (síol 20261003) as an 20,553 stór den sórt sin a bhfuil 1,000–5,000 réalta acu.
Tá 58,690 tagairt chianda uses: i sreafaí oibre a gcraoibhe réamhshocraithe in A agus 10,472 in B. Aicmíodh gach ceann acu de réir an raibh sé greamaithe le SHA an commit, le clib eisiúna dho-athraithe, le clib inathraithe nó le craobh.
Nuair a fhoilsíonn an t-údar eisiúintí do-athraithe cheana féin, is ar éigean atá aon tagairt cosanta. As na tagairtí clibe do ghníomhartha a bhfuil a n-eisiúint is déanaí do-athraithe, tá 312 as 6,898 (4.5%) dírithe ar chlib chosanta in A (eatramh 95%: 2.8–7.1%, bootstrap thar stórtha), agus 76 as 1,564 (4.9%) in B. Tá na cinn chosanta comhchruinnithe: tá 68 as an 312 i stór amháin, agus má fhágtar stór aonair ar bith ar lár faightear 3.6–4.6%. Clibeanna mórleagain cosúil le @v7 iad beagnach an chuid eile ar fad. I gcás 3,238 as 6,586 (49.2%) de na tagairtí neamhchosanta in A (eatramh 43.2–56.0%), tá clib eisiúna dho-athraithe dírithe ar an commit céanna cheana féin, mar sin ní athródh aistriú chuici an cód a ritheann.
Na gníomhartha is mó a úsáidtear. Foilsíonn 28 as 50 (56.0%) de na stórtha gníomhartha a úsáideann an líon is mó stórtha in A a n-eisiúint is déanaí mar eisiúint dho-athraithe. Gníomhartha GitHub féin: 12 as 28 (42.9%) i gcás actions/* (tá: setup-node, setup-python, setup-go, setup-java; níl: checkout, cache, upload-artifact, download-artifact, github-script) agus 3 as 6 (50.0%) i gcás github/*.
Is é greamú le SHA a thugann an chosaint, i mionlach de na stórtha. Iomlán le chéile, tá 32,978 as 58,690 (56.2%) de na tagairtí cianda in A greamaithe le SHA (eatramh 50.7–61.7%) agus 4,812 as 10,472 (46.0%) in B (eatramh 29.0–60.1%; 37.7% gan a stór is mó, open-telemetry/opentelemetry-python, ina bhfuil 1,392 thagairt). Is beag a ghreamaíonn an gnáthstór: is é 5.0% in A agus 0.0% in B an t-airmheán de sciar SHA in aghaidh an stóir. Tá gach tagairt chianda a scríobhtar sna comhaid sreafa oibre greamaithe le SHA i 263 as 891 stór (29.5%) ar a mhéad in A, agus i 174 as 891 (19.5%) má fhágtar ar lár an 89 a ghlaonn freisin ar ghníomhartha áitiúla nár léamar; in B, i 65 as 398 (16.3%) ar a mhéad, nó i 55 as 398 (13.8%). Clibeanna do-athraithe: 0.6% de na tagairtí in A, 0.8% in B.
Glasáil spleáchas ar leibhéal an tsreafa oibre (workflow-level dependency locking), a fógraíodh an 26 Márta 2026 le “Public preview 3-6 months”: ní raibh sí eisithe an 3 Deireadh Fómhair 2026; tá a míreanna treochláir oscailte, agus níl aon iontráil i loga na n-athruithe ná tagairt do chomhréir na sreafaí oibre a dhéanann cur síos uirthi. Déanann na figiúirí seo cur síos ar an staid sula n-eisítear í.
Obair roimhe seo. Rianaíonn datosh/pinned-actions greamú le SHA sna 10,000 stór is mó réaltaí (“7% amháin” a ghreamaíonn go hiomlán, Aibreán 2026; 506 as 6,290 stór a úsáideann Actions, 8.0%, ina chartlann) agus chuir sé seiceáil ar dho-athraitheacht na heisiúna is déanaí leis in Aibreán 2026; seiceálann joshjohanning/ensure-immutable-actions (ó Shamhain 2025) an úsáideann tagairtí sreafaí oibre eisiúintí do-athraithe. Thomhais páipéir taighde greamú le SHA ag 1–2% de thagairtí in 2022; fuair NDSS 2026 go ndéanann 16.2% de stórtha tagairt do gach gníomh tríú páirtí le SHA nó le clib ó chruthaitheoir fíoraithe (verified creator). Tá difear idir ár 29.5% agus 8.0% datosh go príomha mar gheall ar an bpobal (an 1,000 is airde le gníomhaíocht le déanaí, ní an 10,000 is airde) agus ar an dáta; tugann an chéad 1,000 iontráil de chuid datosh féin 100 as 781 (12.8%). Chomh fada agus a d’fhéadfaimis a fháil amach, níor tomhaiseadh roimhe seo H1 (cé mhéad tagairt clibe a chosnaíonn eisiúintí do-athraithe) ná an 49.2% a bhfuil clib dho-athraithe acu ag an commit céanna. Páipéar agus foinsí: https://easybyte.es/lab/studies/s18/paper/.
Uathoibriú agus athbhreithniú. Rinne gníomhairí IS an staidéar agus scríobh siad an téacs. Sheiceáil athbhreithneoir neamhspleách IS an obair; cuireadh a chuid torthaí i bhfeidhm (METHOD.md, an chuid Deviations).
Coinbhleacht leasa. Forbraíonn EasyByte attest-lint agus d’fhéadfadh sé scripts/uses_check.py, an t-aicmitheoir a úsáideadh anseo, a eisiúint mar uirlis saor in aisce. Murab ionann agus ensure-immutable-actions, a mholann greamú le SHA, tuairiscíonn sé, do gach clib inaistrithe, an chlib eisiúna dho-athraithe ag an commit céanna.
Luaigh an staidéar seo
EasyxLab (2026). What immutable releases protect in GitHub Actions workflows. Study S18. EasyByte Hub S. Coop. Mad. https://github.com/easybytehub/easyxlab/tree/main/studies/s18-actions-immutable-releases@techreport{easyxlab_s18,
title = {What immutable releases protect in GitHub Actions workflows},
author = {{EasyxLab}},
institution = {EasyByte Hub S. Coop. Mad.},
number = {S18},
year = {2026},
url = {https://github.com/easybytehub/easyxlab/tree/main/studies/s18-actions-immutable-releases}
}