منصوبے کے بارے میں
GitHub Actions Pins ایک مینٹیننس ریپوزٹری ہے جس کا مقصد GitHub Actions کے لیے pinned میٹا ڈیٹا کا ریکارڈ رکھنا ہے، تاکہ ورک فلوز متحرک ٹیگز کے بجائے immutable revisions کو پن کر سکیں۔ README اس ریپوزٹری کو ایک ایپلی کیشن کے بجائے ٹریکنگ لسٹ کے طور پر بیان کرتا ہے، اور اس کا عملی نتیجہ ایک مشین ریڈ ایبل فائل ہے جسے دوسرے پروجیکٹس استعمال کر سکتے ہیں۔
حقیقت کا بنیادی ذریعہ actions.csv نامی فائل ہے۔ ہر قطار میں دو کالم ہوتے ہیں: action اور ref_override۔ جب کسی اوور رائیڈ کی ضرورت نہیں ہوتی تو ref_override کالم کو خالی چھوڑ دیا جاتا ہے، جس سے لسٹ پڑھنے میں آسان رہتی ہے جبکہ کسی انٹری کے لیے مخصوص حوالہ زبردستی نافذ کرنے کی اجازت بھی ملتی ہے۔
لسٹ میں تبدیلیاں ایک ایشو پر مبنی عمل کے ذریعے ہوتی ہیں۔ gh pin نامی کمانڈ "Add actions to pin list" کے عنوان سے ایک ایشو کھول سکتی ہے جس پر pins لیبل لگا ہوتا ہے۔ اس لیبل کا استعمال ہی درخواست کی منظوری سمجھا جاتا ہے۔ اس کے بعد ایک ایشو ورک فلو ایشو میں جمع کرائے گئے owner/action@ref اندراجات کی تصدیق کرتا ہے، اور کامیابی پر ایک auto-merge پل ریکویسٹ کھولتا ہے جو actions.csv اور pins.json دونوں کو اپ ڈیٹ کرتی ہے۔ چونکہ پل ریکویسٹ کو auto-merge پر سیٹ کیا گیا ہے، اس لیے منظور شدہ اضافے دستی مرجنگ کے بغیر شامل کر لیے جاتے ہیں۔
اندراجات کی تشریح کے لیے چند قواعد لاگو ہوتے ہیں۔ 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.