Bazel, लंबे समय तक सहायता (एलटीएस) रिलीज़ मॉडल का इस्तेमाल करता है. इसमें हर नौ महीने में एक मेजर वर्शन और हर महीने एक मामूली वर्शन रिलीज़ किया जाता है. इस पेज पर, Bazel रिलीज़ की नीति के बारे में बताया गया है. इसमें रिलीज़ के उम्मीदवार, टाइमलाइन, एलान, और टेस्टिंग के बारे में जानकारी शामिल है.
Bazel रिलीज़, GitHub पर देखी जा सकती हैं.
रिलीज़ कैंडिडेट
आम तौर पर, Bazel के नए वर्शन के लिए रिलीज़ कैंडिडेट, हर महीने की शुरुआत में बनाया जाता है. इस काम को GitHub पर रिलीज़ से जुड़ी गड़बड़ी से ट्रैक किया जाता है. इससे रिलीज़ की टारगेट तारीख का पता चलता है. साथ ही, यह काम मौजूदा रिलीज़ मैनेजर को असाइन किया जाता है. रिलीज़ के लिए चुने गए वर्शन को Bazel की सभी यूनिट टेस्ट पास करनी चाहिए. साथ ही, Buildkite पर टेस्ट किए गए प्रोजेक्ट में कोई अनचाहा रिग्रेशन नहीं दिखना चाहिए.
रिलीज़ कैंडिडेट का एलान, bazel-discuss पर किया जाता है. अगले कुछ दिनों में, Bazel की टीम कम्यूनिटी से मिली गड़बड़ी की शिकायतों पर नज़र रखती है, ताकि यह पता लगाया जा सके कि उम्मीदवारों में कोई समस्या तो नहीं है.
रिलीज़ करना
अगर कोई समस्या नहीं मिलती है, तो एक हफ़्ते के बाद उम्मीदवार को आधिकारिक तौर पर रिलीज़ कर दिया जाता है. हालांकि, रिग्रेशन की वजह से रिलीज़ कैंडिडेट को रिलीज़ होने में देरी हो सकती है. अगर कोई रिग्रेशन मिलता है, तो Bazel टीम रिलीज़ कैंडिडेट में उससे जुड़े चेरी-पिक लागू करती है, ताकि उन रिग्रेशन को ठीक किया जा सके. अगर रिलीज़ के लिए चुने गए पहले कैंडिडेट के एक हफ़्ते बाद, लगातार दो कामकाजी दिनों तक कोई और रिग्रेशन नहीं मिलता है, तो कैंडिडेट को रिलीज़ कर दिया जाता है.
रिलीज़ कैंडिडेट में नई सुविधाओं को शामिल नहीं किया जाता. इसके अलावा, अगर किसी नई सुविधा में गड़बड़ी है, तो उसे रिलीज़ कैंडिडेट से वापस रोल किया जा सकता है. रिलीज़ कैंडिडेट को काटने के बाद, सिर्फ़ उन गड़बड़ियों को ठीक किया जाता है जिनसे रिलीज़ बिल्ड पर काफ़ी असर पड़ सकता है या उसे खराब किया जा सकता है.
रिलीज़ सिर्फ़ उस दिन की जाती है जिसका अगला दिन कामकाजी दिन हो.
अगर नई रिलीज़ में कोई गंभीर समस्या मिलती है, तो Bazel टीम रिलीज़ में सुधार लागू करके, पैच रिलीज़ बनाती है. यह पैच, नई रिलीज़ बनाने के बजाय, मौजूदा रिलीज़ को अपडेट करता है. इसलिए, पैच रिलीज़ के लिए चुने गए वर्शन को दो कामकाजी दिनों के बाद रिलीज़ किया जा सकता है.
टेस्ट करना
ci.bazel.build पर चल रहे सभी प्रोजेक्ट का हर रात एक बिल्ड किया जाता है. इसके लिए, हेड पर बनाई गई Bazel बाइनरी और रिलीज़ बाइनरी का इस्तेमाल किया जाता है. जिन प्रोजेक्ट पर किसी बड़े बदलाव का असर पड़ेगा उन्हें इसकी सूचना दी जाती है.
रिलीज़ कैंडिडेट जारी होने पर, TensorFlow जैसे Google के अन्य प्रोजेक्ट की जांच, रिलीज़ कैंडिडेट बाइनरी का इस्तेमाल करके, उनके पूरे टेस्ट सुइट पर की जाती है. अगर आपके पास Bazel का इस्तेमाल करने वाला कोई अहम प्रोजेक्ट है, तो हमारा सुझाव है कि आप अपने-आप टेस्टिंग की ऐसी प्रोसेस सेट अप करें जो मौजूदा रिलीज़ कैंडिडेट को ट्रैक करे और किसी भी तरह की गड़बड़ी की शिकायत करे.