रिलीज़ मॉडल

किसी समस्या की शिकायत करें सोर्स देखें रात · 7.4 को अपनाएं. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

ओरिजनल ब्लॉग पोस्ट में बताया गया था कि Bazel 4.0 और उसके बाद के वर्शन, रिलीज़ के दो ट्रैक के साथ काम करते हैं: रोलिंग रिलीज़ और लंबे समय तक सहायता (एलटीएस) रिलीज़. इस पेज पर, Bazel के रिलीज़ मॉडल के बारे में नई जानकारी दी गई है.

रिलीज़ के लिए वर्शन

Bazel, major.minor.patch सिमेंटिक वर्शनिंग स्कीम का इस्तेमाल करता है.

  • किसी मुख्य रिलीज़ में ऐसी सुविधाएं होती हैं जो पुराने सिस्टम के साथ काम नहीं करतीं पिछली रिलीज़. बेज़ल का हर मेजर वर्शन, एलटीएस रिलीज़ है.
  • किसी नाबालिग रिलीज़ में पुराने सिस्टम के साथ काम करने की सुविधा से जुड़ी गड़बड़ियां ठीक की गई हैं. साथ ही, इसमें कुछ सुविधाएं जोड़ी गई हैं मुख्य ब्रांच से वापस पोर्ट किया गया.
  • पैच रिलीज़ में गंभीर गड़बड़ियां ठीक की गई हैं.

इसके अलावा, रिलीज़ से पहले वाले वर्शन के लिए हाइफ़न और तारीख प्रत्यय को अगले मेजर वर्शन नंबर के साथ जोड़ा जाता है.

उदाहरण के लिए, हर तरह की नई रिलीज़ के लिए, वर्शन नंबर इस तरह होंगे:

  • मेजर: 6.0.0
  • कम: 6.1.0
  • पैच: 6.1.2
  • रिलीज़ से पहले: 7.0.0-pre.20230502.1

सहायता के चरण

हर मुख्य Basel वर्शन के लिए, सहायता के चार चरण हैं:

  • रोलिंग: यह मुख्य वर्शन अब भी रिलीज़ से पहले के स्टेज में है. Bazel टीम, HEAD से रोलिंग रिलीज़ पब्लिश करती है.
  • चालू है: यह मेजर वर्शन, मौजूदा एलटीएस रिलीज़ है. Bazel टीम, अपनी छोटी रिलीज़ में ज़रूरी सुविधाओं और गड़बड़ी ठीक करने की सुविधाओं को बैकपोर्ट करती है.
  • मेंटेनेंस: यह मेजर वर्शन, रखरखाव मोड में मौजूद LTS की पुरानी रिलीज़ है. Bazel की टीम ने सिर्फ़ इस LTS रिलीज़ में, सुरक्षा से जुड़ी समस्याओं और ओएस के साथ काम करने से जुड़ी समस्याओं के लिए, गड़बड़ी ठीक करने के अहम अपडेट को बैकपोर्ट करने का वादा किया है.
  • अब काम नहीं करता: Bazel की टीम अब इस मुख्य वर्शन के लिए सहायता नहीं देती. सभी उपयोगकर्ताओं को Bazel के नए एलटीएस रिलीज़ पर माइग्रेट करना चाहिए.

रिलीज़ की फ़्रीक्वेंसी

Bazel, दो रिलीज़ ट्रैक के लिए नियमित तौर पर रिलीज़ पब्लिश करता है.

रोलिंग रिलीज़

  • रोलिंग रिलीज़, Google Blaze रिलीज़ के साथ मिलकर काम करती हैं. ये रिलीज़, HEAD से हर दो हफ़्ते में होती हैं. यह Bazel के अगले LTS रिलीज़ की झलक है.
  • रोलिंग रिलीज़, काम न करने वाले बदलावों को शिप कर सकती हैं. हमारा सुझाव है कि बड़े बदलावों के लिए, 'काम नहीं करता' फ़्लैग का इस्तेमाल करें. साथ ही, 'काम नहीं करता' फ़्लैग वाले बदलावों को रोल आउट करते समय, पुराने सिस्टम के साथ काम करने की सुविधा से जुड़ी हमारी नीति का पालन करें.

एलटीएस रिलीज़

  • मुख्य रिलीज़: नई एलटीएस रिलीज़ को HEAD से थोड़ा कम किए जाने की उम्मीद है हर 12 महीने. नई एलटीएस रिलीज़ के रिलीज़ होने के बाद, वह तुरंत चालू होने वाले चरण में चली जाती है. साथ ही, पिछली एलटीएस रिलीज़, रखरखाव के चरण में चली जाती है.
  • मामूली रिलीज़: ऐक्टिव LTS ट्रैक पर, हर दो महीने में एक बार नए मामूली वर्शन रिलीज़ किए जाते हैं.
  • पैच रिलीज़: ऐक्टिव और रखरखाव के चरणों में, LTS रिलीज़ के लिए नए पैच वर्शन, मांग पर रिलीज़ किए जा सकते हैं. ऐसा, गड़बड़ी को ठीक करने के लिए किया जाता है.
  • दो साल तक रखरखाव का स्टेज.

तय की गई रिलीज़ के लिए, कृपया GitHub पर हमारी रिलीज़ से जुड़ी समस्याएं देखें.

सहायता मैट्रिक

एलटीएस रिलीज़ सहायता का चरण सबसे नया वर्शन इस डिवाइस पर सहायता पाने की सुविधा बंद होने के बारे में जानकारी
Bazel 7 लगातार GitHub के रिलीज़ पेज की जांच करें लागू नहीं
Bazel 6 चालू है 6.4.0 दिसंबर 2025
बेज़ल 5 रखरखाव 5.4.1 जनवरी 2025
बेज़ल 4 रखरखाव 4.2.4 जनवरी 2024

Basel की सभी रिलीज़, रिलीज़ पर देखी जा सकती हैं पेज पर क्लिक करें.

रिलीज़ करने की प्रक्रिया और नीतियां

रोलिंग रिलीज़ के लिए, प्रोसेस आसान है: हर दो हफ़्ते में एक नई रिलीज़ बनाई जाती है. यह रिलीज़, Google के इंटरनल Blaze रिलीज़ के बेसलाइन के मुताबिक होती है. तेज़ी से रिलीज़ होने वाले शेड्यूल की वजह से, हम किसी भी बदलाव को बैकपोर्ट नहीं करते शामिल कर लिया है.

LTS रिलीज़ के लिए, यहां दी गई प्रोसेस और नीतियों का पालन किया जाता है:

  1. रिलीज़ के लिए बेसलाइन कमिट तय करें.
    • नई मुख्य एलटीएस रिलीज़ के लिए, बेसलाइन कमिटी मुख्य ब्रांच.
    • माइनर या पैच रिलीज़ के लिए, बेसलाइन कमिट उसी एलटीएस रिलीज़ का मौजूदा सबसे नया वर्शन हो.
  2. बेसलाइन कमिट से, release-<version> के नाम से रिलीज़ ब्रैंच बनाएं.
  3. रिलीज़ शाखा में, पीआर के ज़रिए बदलावों को बैकपोर्ट करें.
    • समुदाय, कुछ सदस्यताओं का जवाब देकर, सदस्यताओं से जुड़ी जानकारी शेयर करने का सुझाव दे सकता है "@bazel-io flag" GitHub से जुड़ी समस्या या पीआर से जुड़ी समस्याओं को रिलीज़ ब्लॉकर का काम करते हैं, तो बेज़ल टीम उन्हें प्राथमिकता के आधार पर निपटाती है और तय करती है कि कमेंट को बैक-पोर्ट करें.
    • सिर्फ़ मुख्य शाखा पर मौजूद, पुराने सिस्टम के साथ काम करने वाले कमिट को बैक-पोर्ट किया जा सकता है. हालांकि, मर्ज से जुड़ी समस्याओं को हल करने के लिए, कुछ छोटे बदलाव किए जा सकते हैं.
  4. रिलीज़ को रोकने वाली समस्याओं की पहचान करना और रिलीज़ शाखा पर मिली समस्याओं को ठीक करना.
    • रिलीज़ शाखा की जांच, Bazel CI में पोस्ट सबमिट और डाउनस्ट्रीम टेस्ट पाइपलाइन में एक ही टेस्ट सुइट के साथ की जाती है. Bazel टीम, रिलीज़ ब्रैंच की जांच के नतीजों पर नज़र रखती है और किसी भी तरह की गड़बड़ी को ठीक करती है.
  5. जब सभी को जानकारी हो, तब रिलीज़ ब्रांच से एक नया रिलीज़ कैंडिडेट बनाएं रिलीज़ ब्लॉकर की समस्या ठीक कर दी जाती है.
    • रिलीज़ के लिए उम्मीदवार की घोषणा baZ-discuss, बेज़ल टीम, कैंडिडेट के लिए कम्यूनिटी से जुड़ी बग रिपोर्ट पर नज़र रखती है.
    • अगर नए रिलीज़ ब्लॉकर का पता चलता है, तो आखिरी चरण पर वापस जाएं और सभी समस्याओं को हल करने के बाद एक नया रिलीज़ कैंडिडेट तैयार करें.
    • रिलीज़ ब्रांच में नई सुविधाओं को जोड़ने की अनुमति नहीं है, तो पहली रिलीज़ वाला कैंडिडेट बनाया जाता है.
  6. अगर रिलीज़ को ब्लॉक करने वाली कोई और वजह नहीं मिलती है, तो रिलीज़ कैंडिडेट को आधिकारिक रिलीज़ के तौर पर पुश करें
    • पैच रिलीज़ के लिए, रिलीज़ को आखिरी रिलीज़ कैंडिडेट के रिलीज़ होने के कम से कम दो कामकाजी दिन बाद पुश करें.
    • मुख्य और मामूली रिलीज़ के लिए, रिलीज़ को आखिरी रिलीज़ कैंडिडेट के रिलीज़ होने के दो कामकाजी दिन बाद पुश करें. हालांकि, रिलीज़ को पहले रिलीज़ कैंडिडेट के रिलीज़ होने के एक हफ़्ते बाद ही पुश करें.
    • रिलीज़ सिर्फ़ उस दिन पॉश की जाती है जब अगला दिन कामकाजी दिन हो.
    • रिलीज़ का एलान basel-discuss, बेज़ल टीम, नए वर्शन के लिए समुदाय की बग रिपोर्ट पर नज़र रखती है और उन्हें हल करती है रिलीज़.

रिपोर्ट में गिरावट

अगर किसी उपयोगकर्ता को अपनी नई बेज़ल रिलीज़ में रिग्रेशन मिलता है, तो रिलीज़ कैंडिडेट या यहां तक कि HEAD पर बैज, कृपया इस पर बग दर्ज करें GitHub. Google Analytics 4 पर माइग्रेट करने के लिए, बैजलिस्क, अपराधी को दो हिस्सों में बांटता है और इस जानकारी को बग में शामिल करता है रिपोर्ट.

उदाहरण के लिए, अगर आपका बिल्ड Bazel 6.1.0 के साथ काम करता है, लेकिन 6.2.0 के दूसरे रिलीज़ कैंडिडेट के साथ काम नहीं करता है, तो

bazelisk --bisect=6.1.0..release-6.2.0rc2 build //foo:bar

चलाने के लिए, BAZELISK_SHUTDOWN या BAZELISK_CLEAN एनवायरमेंट वैरिएबल सेट किया जा सकता है बिल्ड स्थिति को रीसेट करने के लिए, फिर से जानने में मदद मिलेगी. ज़्यादा जानकारी के लिए, Bazelisk के बाइसेक्ट की सुविधा के बारे में दस्तावेज़ देखें.

bisect सुविधा का इस्तेमाल करने के लिए, Bazelisk को नए वर्शन पर अपग्रेड करना न भूलें.

नियम का साथ काम करता है

अगर आप नियम बनाने वाले हैं और आपको Bazel के अलग-अलग वर्शन के साथ काम करने वाले नियम बनाने हैं, तो कृपया नियम के साथ काम करने वाले वर्शन पेज पर जाएं.