इस प्रोजेक्ट के बारे में
GitHub Actions Pins एक मेंटेनेंस रिपॉजिटरी है जिसका उद्देश्य GitHub Actions के लिए pinned मेटाडेटा को ट्रैक करना है, ताकि वर्कफ़्लो मूवेबल टैग्स के बजाय immutable revisions को पिन कर सकें। README इस रिपॉजिटरी को एक एप्लिकेशन के बजाय एक ट्रैकिंग लिस्ट के रूप में वर्णित करता है, और इसका व्यावहारिक आउटपुट एक मशीन-रीडेबल फ़ाइल है जिसे अन्य प्रोजेक्ट्स उपयोग कर सकते हैं।
सत्य का स्रोत (source of truth) actions.csv नामक एक फ़ाइल है। प्रत्येक पंक्ति में दो कॉलम होते हैं: action और ref_override। जब किसी ओवरराइड की आवश्यकता नहीं होती है, तो ref_override कॉलम को खाली छोड़ दिया जाता है, जिससे सूची पठनीय बनी रहती है और साथ ही किसी प्रविष्टि के लिए एक विशिष्ट संदर्भ को अनिवार्य करने की अनुमति मिलती है।
सूची में परिवर्तन एक इश्यू-आधारित प्रक्रिया के माध्यम से होते हैं। gh pin नामक एक कमांड "Add actions to pin list" शीर्षक वाला एक इश्यू खोल सकता है जिसमें pins लेबल होता है। उस लेबल को लागू करना ही अनुरोध को मंजूरी देना है। इसके बाद एक इश्यू वर्कफ़्लो इश्यू में सबमिट की गई owner/action@ref प्रविष्टियों को मान्य करता है, और सफल होने पर एक ऑटो-मर्ज पुल रिक्वेस्ट खोलता है जो actions.csv और pins.json दोनों को अपडेट करता है। क्योंकि पुल रिक्वेस्ट को ऑटो-मर्ज पर सेट किया गया है, इसलिए स्वीकृत प्रविष्टियों को बिना मैनुअल मर्जिंग के शामिल कर लिया जाता है।
प्रविष्टियों की व्याख्या कैसे की जाए, इसके लिए कुछ नियम लागू होते हैं। Action subpaths पिन कुंजी (pin key) का हिस्सा बने रहते हैं, इसलिए एक वर्कफ़्लो स्टेप जो किसी एक्शन की सबडायरेक्टरी की ओर इशारा करता है, उसे उसकी अपनी कुंजी माना जाता है। हालाँकि, मेटाडेटा सबपाथ के बजाय रूट owner/repo के विरुद्ध रिज़ॉल्व होता है। वे प्रविष्टियाँ जो पहले से ही पूर्ण commit SHA का संदर्भ देती हैं, उन्हें पिन सूची में जोड़ने की आवश्यकता नहीं होती है, क्योंकि ऐसे संदर्भ निर्माण द्वारा ही immutable होते हैं।
जेनरेट की गई pins.json फ़ाइल को https://unfun.co/pins.json पर प्रकाशित और तैनात किया जाता है, जिससे उपभोक्ताओं को वर्तमान पिन डेटा प्राप्त करने के लिए एक स्थिर URL मिलता है।
यह प्रोजेक्ट Daniel Morris द्वारा है और MIT License के तहत उपलब्ध कराया गया है; README में 2026 का कॉपीराइट नोटिस है और रिपॉजिटरी में LICENSE.md फ़ाइल का लिंक दिया गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.