GitHub GitHub অ্যাকশনগুলির জন্য ওয়ার্কফ্লো নির্ভরতা লকফাইলগুলি তৈরি করেছে সাধারণত 28 অক্টোবর, 2026-এ বৈশিষ্ট্যটি সর্বজনীন প্রিভিউ প্রবেশ করার দুই সপ্তাহ পরে। ওয়ার্কফ্লো পরিষ্কার ট্যাগ এবং শাখা রেফারেন্স বজায় রাখতে পারে। রানার তালিকাভুক্ত নির্দিষ্ট প্রতিশ্রুতিগুলি সম্পাদন করে .github/workflows/actions.lock ফাইল, এমনকি যদি সেই রেফারেন্সগুলি পরে পরিবর্তিত হয়। ফিচারটি GitHub এন্টারপ্রাইজ ক্লাউড, এন্টারপ্রাইজ ক্লাউডে ডেটা রেসিডেন্সি, টিম এবং ফ্রি প্ল্যান সহ উপলব্ধ। GA রিলিজ পূর্বরূপ থেকে ক্ষমতা অন্তর্ভুক্ত.
অ্যাকশন কীভাবে নির্ভরতাকে সমাধান করে সে বিষয়ে পরিবর্তনটি দীর্ঘস্থায়ী দুর্বলতাকে লক্ষ্য করে। একটি রেফারেন্স যেমন actions/checkout@v4 বা একটি শাখার নাম পরিবর্তন হতে পারে। এর অর্থ হল একটি হ্যাকড অ্যাকশন এটি ব্যবহার করে সংগ্রহস্থল পরিবর্তন না করে একটি পাইপলাইনে খারাপ কোড যোগ করতে পারে। দলগুলি সম্পূর্ণ কমিট SHA-তে পিন করতে পারে, তবে এটি পঠনযোগ্যতা হ্রাস করে। এটি যৌগিক ক্রিয়াগুলির মতো ট্রানজিটিভ নির্ভরতাগুলিকেও আনপিন করা ছেড়ে দেয়৷ লকফাইলগুলি প্রত্যক্ষ এবং ট্রানজিটিভ নির্ভরতার জন্য প্রতিশ্রুতি রেকর্ড করার মাধ্যমে উভয় ফাঁককে সমাধান করে।
GitHub CLI-এর জন্য gh-অ্যাকশন-লক এক্সটেনশনের মাধ্যমে টুলিং আসে, gh-active-lock রিপোজিটরিতে হোস্ট করা হয়, যা লকফাইল তৈরি ও রক্ষণাবেক্ষণ করে। দত্তক কর্মপ্রবাহ অনুসরণ করে. একবার একটি ওয়ার্কফ্লো অনবোর্ড হয়ে গেলে, প্রতিটি নির্ভরতার একটি লকফাইল এন্ট্রি প্রয়োজন। অ্যাকশন রানটাইম তারপর রেকর্ড করা কমিট চালায়, ট্যাগ বা শাখা পয়েন্ট যেখানেই থাকুক না কেন। এটি একটি সম্পূর্ণ সংস্থাকে একবারে রূপান্তর করার পরিবর্তে দলগুলিকে ক্রমবর্ধমানভাবে স্থানান্তর করতে দেয়৷ এক্সটেনশনের একটি যাচাইকরণ মোড আছে। কোনো ফাইল পরিবর্তন না করেই লকফাইল আপ টু ডেট কিনা তা পরীক্ষা করে। এইভাবে, এটি ওয়ার্কফ্লো ফাইল এবং লক ফাইলের মধ্যে পার্থক্য চিহ্নিত করতে একটি CI গেট হিসাবে কাজ করতে পারে।
ডিপেন্ডাবট ইন্টিগ্রেশন পিনিংয়ের স্বাভাবিক খরচকে সম্বোধন করে, যা বাসি পিন। যখন Dependabot একটি অনবোর্ডড ওয়ার্কফ্লোতে একটি কর্মের জন্য একটি সংস্করণ আপডেট খোলে, তখন এটি ম্যাচিং লকফাইল এন্ট্রি আপডেট করে। উভয় পরিবর্তন একই পুল অনুরোধে প্রদর্শিত হয়, তাই ওয়ার্কফ্লো রেফারেন্স এবং লক করা কমিট সিঙ্কে থাকে। GitHub বলে যে এটি অতিরিক্ত কনফিগারেশন ছাড়াই কাজ করে। পরিচালনার জন্য, এন্টারপ্রাইজ, সংস্থা এবং সংগ্রহস্থলের প্রশাসকরা একটি “লকফাইল প্রয়োজন” নীতি সক্ষম করতে পারেন৷ এই নীতি প্রাসঙ্গিক সুযোগে দত্তক কার্যকর করতে সাহায্য করে।
GitHub প্রক্রিয়াটির সীমা সম্পর্কে স্পষ্ট। একটি লকফাইল গ্যারান্টি দেয় যে আপনি লক করা কমিটগুলি ব্যবহার করে রান করে, কিন্তু সেই কমিটগুলি নিরাপদ কিনা তা নির্ধারণ করে না এবং ঘোষণাটি লক করার আগে নির্ভরতা পর্যালোচনা করার পরামর্শ দেয়। নিরাপত্তা মান তাই একটি এন্ট্রি তৈরি বা আপডেট করা হলে যে পর্যালোচনার উপর নির্ভর করে। অনুশীলনে, ডিপেন্ডাবট পুল অনুরোধটি পর্যালোচনার পয়েন্ট হয়ে ওঠে এবং যে দলগুলি এই আপডেটগুলিকে স্বয়ংক্রিয়ভাবে একত্রিত করে তারা সরাসরি লকফাইলে কোনও ক্ষতিকারক পরিবর্তন বহন করবে।
GitHub অন্যান্য অ্যাকশন ডিফল্টগুলিকে শক্ত করে বলে রিলিজটি আসে। 2 নভেম্বরের একটি চেঞ্জলগ এন্ট্রি ঘোষণা করেছে যে pull_request_target ডিফল্টভাবে 2 ডিসেম্বর থেকে অবরুদ্ধ করা হবে, অন্য একটি পরিবর্তনের লক্ষ্য হল কীভাবে অবিশ্বস্ত কোড সুবিধাপ্রাপ্ত ওয়ার্কফ্লো প্রসঙ্গে পৌঁছায় তা সীমিত করা।
দত্তক নেওয়ার মূল্যায়নকারী দলগুলির জন্য, ওয়ার্কফ্লো নির্ভরতা লকফাইলের উপর GitHub ডক্স পৃষ্ঠায় সেটআপ নির্দেশাবলী রয়েছে। একটি যুক্তিসঙ্গত সূচনা বিন্দু হল কিছু উচ্চ-সুবিধাপ্রাপ্ত ওয়ার্কফ্লো, যেমন রিলিজ বা স্থাপনার পাইপলাইন, সিআই-তে স্ট্যালেনেস চেক যোগ করা এবং এন্টারপ্রাইজ-ওয়াইড নীতি সক্রিয় করার আগে ডিপেন্ডাবটের সম্মিলিত পুল অনুরোধগুলি বিদ্যমান পর্যালোচনা অনুশীলনের সাথে খাপ খায় তা নিশ্চিত করা।
প্রতিযোগী প্ল্যাটফর্মগুলি এখনও পর্যন্ত একটি নেটিভ সমতুল্য ঘোষণা করেনি। GitLab এর পাইপলাইন নিরাপত্তা নির্দেশিকা ব্যবহারকারীদের SHAs কমিট করার জন্য অন্তর্ভুক্ত এবং উপাদানগুলিকে ম্যানুয়ালি পিন করার পরামর্শ দেয়। ব্যবহারকারীদের ডাইজেস্টে ছবি পিন করা উচিত। মার্চ 2026 সাপ্লাই চেইন ঘটনার পর, গিটল্যাব ওপেন সোর্স পাইপলাইন এক্সিকিউশন নীতি চালু করেছে। এই নীতিগুলি নির্ভরতা প্রকাশের পরিবর্তে পরিচিত আক্রমণের ধরণগুলিকে ব্লক করার উপর ফোকাস করে। Azure পাইপলাইনগুলির জন্য মাইক্রোসফ্টের জিরো ট্রাস্ট নির্দেশিকাও SHA পিনিং ব্যবহার করার পরামর্শ দেয়। এটি মার্কেটপ্লেস এক্সটেনশন সীমিত করার পরামর্শ দেয়।
CircleCI orbs কমিট হ্যাশের পরিবর্তে একটি কেন্দ্রীয় শব্দার্থিক-সংস্করণ রেজিস্ট্রি ব্যবহার করে। এই পদ্ধতির রেজিস্ট্রি অপরিবর্তনীয় রাখে। এই প্ল্যাটফর্মের দলগুলি প্রায়ই ক্রস-প্ল্যাটফর্ম টুল ব্যবহার করে। উদাহরণস্বরূপ, তারা SHA-তে ট্যাগ পিন করতে পিনার ব্যবহার করতে পারে এবং একটি CI যাচাইকরণ পদক্ষেপ যোগ করতে পারে। তারা আনপিন রেফারেন্স ফ্ল্যাগ করার জন্য ActionSieve-এর মতো স্ক্যানারের উপরও নির্ভর করতে পারে।
এই টুলগুলি পাইপলাইন ফাইলে লেখা রেফারেন্স পিন করে কিন্তু ট্রানজিটিভ নির্ভরতা সমাধান করে না, যা GitHub-এর লকফাইল ডিজাইন অ্যাড্রেসগুলির ফাঁক। GitHub-এর বৈশিষ্ট্যের মতো, তাদের মধ্যে কেউই একটি পিন করা নির্ভরতা বিশ্বাসযোগ্য কিনা তা বিচার করে না, তাই লক করার আগে যে পর্যালোচনা পদক্ষেপটি গুরুত্বপূর্ণ তা নিয়ন্ত্রণ করে।