रिलीज़ की नीति

Bazel, लंबे समय तक सहायता (एलटीएस) देने वाले रिलीज़ मॉडल का इस्तेमाल करता है. इसके तहत, हर नौ महीने में एक मुख्य वर्शन और हर महीने छोटे वर्शन रिलीज़ किए जाते हैं. इस पेज पर, Bazel की रिलीज़ नीति के बारे में बताया गया है. इसमें रिलीज़ कैंडिडेट, टाइमलाइन, एलान, और टेस्टिंग के बारे में जानकारी शामिल है.

Bazel की रिलीज़ के बारे में जानकारी, GitHub पर देखी जा सकती है.

रिलीज़ कैंडिडेट

आम तौर पर, Bazel के नए वर्शन के लिए रिलीज़ कैंडिडेट हर महीने की शुरुआत में बनाया जाता है. इस काम को GitHub पर रिलीज़ से जुड़े बग की मदद से ट्रैक किया जाता है. इसमें रिलीज़ की टारगेट तारीख दिखती है. साथ ही, इसे मौजूदा रिलीज़ मैनेजर को असाइन किया जाता है. रिलीज़ कैंडिडेट को Bazel के सभी यूनिट टेस्ट पास करने चाहिए. साथ ही, Buildkite पर टेस्ट किए गए प्रोजेक्ट में, कोई भी अनचाहा रिग्रेशन नहीं दिखना चाहिए.

रिलीज़ कैंडिडेट के बारे में जानकारी, bazel-discuss पर दी जाती है. इसके बाद, Bazel की टीम, कैंडिडेट में किसी भी तरह के रिग्रेशन के लिए, कम्यूनिटी से मिली बग रिपोर्ट की निगरानी करती है.

गांठ खोलने का तरीका

अगर कोई रिग्रेशन नहीं मिलता है, तो कैंडिडेट को एक हफ़्ते बाद आधिकारिक तौर पर रिलीज़ कर दिया जाता है. हालांकि, रिग्रेशन की वजह से, रिलीज़ कैंडिडेट की रिलीज़ में देरी हो सकती है. अगर रिग्रेशन मिलते हैं, तो Bazel की टीम, उन रिग्रेशन को ठीक करने के लिए, रिलीज़ कैंडिडेट पर उनसे जुड़े चेरी-पिक लागू करती है. अगर पहले रिलीज़ कैंडिडेट के एक हफ़्ते बाद से शुरू होने वाले दो कामकाजी दिनों तक कोई और रिग्रेशन नहीं मिलता है, तो कैंडिडेट को रिलीज़ कर दिया जाता है.

रिलीज़ कैंडिडेट के कट होने के बाद, उसमें नई सुविधाएं चेरी-पिक नहीं की जाती हैं. इसके अलावा, अगर कोई नई सुविधा गड़बड़ी वाली है, तो उसे रिलीज़ कैंडिडेट से रोल बैक किया जा सकता है. रिलीज़ कैंडिडेट के कट होने के बाद, उसमें सिर्फ़ उन गड़बड़ियों को ठीक किया जाता है जिनसे रिलीज़ बिल्ड पर बहुत ज़्यादा असर पड़ सकता है या वह टूट सकता है.

रिलीज़ सिर्फ़ उस दिन की जाती है जब अगला दिन कामकाजी दिन हो.

अगर सबसे नई रिलीज़ में कोई ज़रूरी समस्या मिलती है, तो Bazel की टीम, रिलीज़ में फ़िक्स लागू करके पैच रिलीज़ बनाती है. इस पैच से नई रिलीज़ बनाने के बजाय, मौजूदा रिलीज़ अपडेट होती है. इसलिए, पैच रिलीज़ कैंडिडेट को दो कामकाजी दिनों के बाद रिलीज़ किया जा सकता है.

टेस्ट करना

ci.bazel.build पर चल रहे सभी प्रोजेक्ट का नाइटली बिल्ड, हेड पर बने Bazel बाइनरी और रिलीज़ बाइनरी का इस्तेमाल करके चलाया जाता है. जिन प्रोजेक्ट पर ब्रेक करने वाले बदलाव का असर पड़ने वाला है उन्हें सूचना दी जाती है.

रिलीज़ कैंडिडेट जारी होने पर, TensorFlow जैसे Google के अन्य प्रोजेक्ट को, रिलीज़ कैंडिडेट बाइनरी का इस्तेमाल करके, उनके पूरे टेस्ट सुइट पर टेस्ट किया जाता है. अगर आपके पास Bazel का इस्तेमाल करने वाला कोई ज़रूरी प्रोजेक्ट है, तो हमारा सुझाव है कि आप एक ऑटोमेटेड टेस्टिंग प्रोसेस सेट अप करें. इससे मौजूदा रिलीज़ कैंडिडेट को ट्रैक किया जा सकेगा और किसी भी रिग्रेशन की रिपोर्ट की जा सकेगी.