दस्तावेज़
बनाता और रिलीज़ करता है
लक्ष्य-विशिष्ट साइडकार, हस्ताक्षरित अद्यतनकर्ता परिसंपत्तियाँ, और प्लेटफ़ॉर्म इंस्टालर के बाद प्रकाशित एक रिलीज़ इंडेक्स।
अंग्रेज़ी से स्वचालित रूप से अनुवादित। अंग्रेज़ी मूल देखें
वितरण मॉडल
डेस्कटॉप बिल्ड एक वाइट फ्रंटएंड, एक Bun-संकलित साइडकार, और एक टॉरी एप्लिकेशन में जेनरेट किए गए SQLite माइग्रेशन को पैकेज करता है। रिपॉजिटरी macOS Apple सिलिकॉन और Intel, Windows x64 और ARM64, और Linux x64 और ARM64 बिल्ड को परिभाषित करता है। रिलीज़ स्वचालन को इसमें कॉन्फ़िगर किया गया है .github/workflows/release.yml; प्लेटफ़ॉर्म बिल्ड चेक भी स्वतंत्र रूप से चलते हैं build-platforms.yml.
वर्कफ़्लो परिभाषा प्रकाशन प्रक्रिया का वर्णन करती है। किसी इंस्टॉलर की उपलब्धता और वैधता उसके विशेष रन और रिलीज़ परिसंपत्तियों से स्थापित की जानी चाहिए। स्रोत कोड अकेले क्रेडेंशियल पर हस्ताक्षर, नोटरीकरण परिणाम, या लक्ष्य मशीन पर सफल स्थापना को साबित नहीं करता है।
पाइपलाइन बनाएं
scripts/build.ts छह क्रमबद्ध चरण चलाता है और एक चरण विफल होने पर निरस्त हो जाता है:
- स्थापित करना: फ्रोजन-लॉकफ़ाइल इंस्टॉलेशन, जिसमें सभी ऑपरेटिंग सिस्टम और सीपीयू आर्किटेक्चर के लिए वैकल्पिक निर्भरताएं शामिल हैं।
- जाँच करना: कार्यक्षेत्र टाइपचेकिंग। यूनिट परीक्षण एक अलग सीआई कमांड हैं।
- संकलित करें: के साथ साइडकार बनाएं
scripts/compile-sidecar.tsरस्ट लक्ष्य ट्रिपल के लिए। - संसाधन: अवस्था
packages/db/drizzleबंडल माइग्रेशन के रूप में। - बंडल: फ्रंटएंड बनाएं, फिर लक्ष्य, बंडल, हस्ताक्षर और अपडेटर सेटिंग्स के साथ टौरी को आमंत्रित करें।
- कलाकृतियाँ: इंडेक्स इंस्टॉलर संपत्तियां, SHA-256 चेकसम लिखें, और Git इतिहास से रिलीज़ नोट्स तैयार करें।
bun scripts/build.ts --help
bun scripts/build.ts --dry-run
bun run build:sidecar
bun scripts/build.ts --only=resources
bun scripts/build.ts --no-updater --only और --skip मंच के नाम स्वीकार करें; --target, --bundles, और --out-dir आउटपुट चुनें. डिफ़ॉल्ट लक्ष्य होस्ट द्वारा रिपोर्ट किया गया है rustc -vV. साइडकार बायनेरिज़ को लिखा जाता है apps/desktop/src-tauri/binaries/sidecar-<triple>, साथ .exe विंडोज़ पर. अनावश्यक विकास पुनरारंभ से बचने के लिए समान बायनेरिज़ और माइग्रेशन ट्री को अपरिवर्तित रखा गया है।
उपयोग compile-sidecar.ts पाइपलाइन के माध्यम से: यह एम्बेडेड-होस्ट बंडलिंग अनुकूलन लागू करता है। एक प्रत्यक्ष सामान्य संकलन कमांड समान निर्माण प्रक्रिया का प्रतिनिधित्व नहीं करता है। डिफ़ॉल्ट आर्टिफैक्ट निर्देशिका है apps/desktop/src-tauri/target/release-artifacts.
The resources चरण प्रतियाँ packages/db/drizzle/ में apps/desktop/src-tauri/resources/migrations/ और दोहराना सुरक्षित है। artifacts चरण लिखता है SHA256SUMS और RELEASE_NOTES.md, पिछले टैग के बाद से कमिट्स से निर्मित। चरण उपनाम इसके द्वारा स्वीकार किए जाते हैं --only और --skip: deps, checks/test, sidecar, migrations, और notes/checksums/release. स्क्रिप्ट कभी नहीं पढ़ी जाती .env* गुप्त मान फ़ाइलें या प्रिंट करता है।
सीआई और प्रकाशन
| कार्यप्रवाह | जिम्मेदारियाँ कॉन्फ़िगर की गईं |
|---|---|
ci.yml | फ्रोजन इंस्टाल, वर्कस्पेस टाइपचेक/टेस्ट, साइडकार/रिसोर्स स्टेजिंग, रस्ट क्लिपी/टेस्ट और साथी जावास्क्रिप्ट चेक। |
build-platforms.yml | मैनुअल या build/** शाखा छह लक्ष्य आर्किटेक्चर के लिए निर्माण करती है। बंडलों का उपयोग --no-updater और बिना कोई रिलीज़ प्रकाशित किए अनुक्रमित कलाकृतियाँ अपलोड करें। |
release.yml | संस्करण-टैग सत्यापन, हस्ताक्षरित प्लेटफ़ॉर्म बिल्ड, प्रति-प्लेटफ़ॉर्म मैनिफ़ेस्ट, छह-प्लेटफ़ॉर्म मैनिफ़ेस्ट मर्ज, इंस्टॉलर प्रकाशन और अंतिम इंडेक्स प्रकाशन। |
ios.yml | अहस्ताक्षरित सिम्युलेटर निर्माण और पेयरिंग राउंड ट्रिप; कोई ऐप स्टोर या टेस्टफ़्लाइट प्रकाशन नहीं। |
रिलीज़ वर्कफ़्लो चलता है v* टैग या गैर-फोर्क रिपॉजिटरी पर मैन्युअल रूप से चयनित मौजूदा संस्करण टैग। release-ref.ts टैग और एप्लिकेशन संस्करण की जाँच करता है और कमिट का समाधान करता है। प्रत्येक बिल्ड एक प्लेटफ़ॉर्म रिलीज़ बनाता है, जैसे कि एक संस्करण टैग प्रत्यय के साथ macos-arm64 या linux-x64. सभी प्लेटफ़ॉर्म रिलीज़ प्रकाशित होने के बाद ही संस्करण सूचकांक मर्ज को प्रकाशित करता है latest.json.
stage-release.ts प्रकाशन से पहले चयनित कलाकृतियों, चेकसम/हस्ताक्षर संबंधों और मेनिफेस्ट लिंक की जांच करता है। पहले से प्रकाशित विज्ञप्तियों को अधिलेखित नहीं किया गया है। सूचकांक रिलीज़ स्थिर संस्करणों के लिए नवीनतम बनने के योग्य है; प्रीरिलीज़ को प्रीरिलीज़ के रूप में चिह्नित किया जाता है।
अपडेटर बिल्ड के लिए टॉरी को सार्वजनिक कुंजी के अनुरूप निजी कुंजी और पासवर्ड कॉन्फ़िगरेशन पर हस्ताक्षर करने की आवश्यकता होती है tauri.conf.json. macOS रिलीज़ साइनिंग/नोटरीकरण Apple प्रमाणपत्र और खाता सेटिंग्स का उपयोग करता है; विंडोज़ एक हस्ताक्षर प्रमाणपत्र आयात करता है और उसके अंगूठे का निशान बंडलर को भेजता है। आवश्यक रिलीज़ साइनिंग इनपुट गुम होने से रिलीज़ बिल्ड विफल हो जाता है। इन्हें सीआई गुप्त स्टोर के माध्यम से कॉन्फ़िगर करें।
एनपीएम टोकन उपलब्ध होने पर एक अलग रिलीज जॉब निकल्ली प्लगइन पैकेज प्रकाशित करता है। यह पहले से प्रकाशित संस्करण को छोड़ देता है और प्राथमिक स्कोप प्रकाशित नहीं होने पर कॉन्फ़िगर किए गए फ़ॉलबैक पैकेज नाम का उपयोग कर सकता है। यह पैकेज कार्य डेस्कटॉप इंस्टॉलर उपलब्धता स्थापित नहीं करता है।
अद्यतनकर्ता व्यवहार
कॉन्फ़िगर किया गया अपडेटर एंडपॉइंट रिपॉजिटरी का नवीनतम GitHub रिलीज़ डाउनलोड है latest.json. रस्ट अपडेटर लॉन्च के समय और हर चार घंटे में जांच करता है, इसकी सेवा के माध्यम से मैन्युअल जांच की जाती है। प्रत्येक अनुरोध 30-सेकेंड टाइमआउट का उपयोग करता है। मेनिफेस्ट प्लेटफ़ॉर्म-विशिष्ट संपत्तियों और हस्ताक्षरों की पहचान करता है; सार्वजनिक कुंजी एप्लिकेशन कॉन्फ़िगरेशन का हिस्सा है।
update://status जाँच, अद्यतित, उपलब्ध, डाउनलोडिंग, तैयार और विफल स्थितियाँ प्रदान करता है। नोट्स युक्त जारी करें [critical] उपलब्ध अद्यतन को गैर-ख़ारिज करने योग्य के रूप में चिह्नित करें। पुनः आरंभ करने के लिए तैयार स्थिति भी अस्वीकार्य नहीं है। यह संकेत को प्रभावित करता है; इंस्टॉलेशन अभी भी सहेजे न गए कार्य गार्ड का सम्मान करता है।
install_update घोषित संस्करण को रिकॉर्ड और दोबारा जांचता है, फिर हस्ताक्षर-सत्यापित पैकेज डाउनलोड करता है। संपादक डाउनलोड से पहले और फिर पहले सेव करता है apply_update, डाउनलोड के दौरान किए गए संपादनों की सुरक्षा करना। सहेजा न गया कार्य दोनों परिचालनों को अवरुद्ध करता है; विफल सहेजें पुनः प्रयास के लिए सत्यापित बाइट्स बनाए रखती हैं। सदस्यता लेने के बाद मूल स्थिति पुनर्प्राप्त हो जाती है, और चेक सक्रिय प्रगति या लंबित पुनरारंभ को प्रतिस्थापित नहीं कर सकता है। इंस्टॉलर के नियंत्रण लेने से पहले विंडोज़ साइडकार को खाली कर देती है; अन्य प्लेटफ़ॉर्म इंस्टॉलेशन के बाद पुनरारंभ की पेशकश करते हैं।
रिलीज़ कुंजियाँ स्थिर रखें
एप्लिकेशन अपनी एम्बेडेड सार्वजनिक कुंजी का उपयोग करके अद्यतन हस्ताक्षरों का सत्यापन करता है। किसी भिन्न निजी कुंजी से हस्ताक्षरित रिलीज़ विनिमेय नहीं है। उपयोगकर्ताओं के लिए तैयार रिलीज़ की घोषणा करने से पहले लक्ष्य प्लेटफ़ॉर्म पर उत्पादित इंस्टॉलर और अपडेटर संपत्ति को सत्यापित करें।
डेटाबेस अनुकूलता
पैक किए गए एप्लिकेशन खुले हैं cadcamfun.db उनके एप्लिकेशन डेटा निर्देशिका के अंतर्गत। लंबित माइग्रेशन को बंडल में शामिल माइग्रेशन का उपयोग करके स्टार्टअप पर डेटाबेस परत द्वारा लागू किया जाता है। इसलिए स्कीमा अपग्रेड और बाइनरी अपडेट संबंधित हैं, भले ही वे अलग-अलग कलाकृतियाँ हों।
जेनरेट किए गए रिलीज़ नोट्स ट्रैक किए गए माइग्रेशन ट्री की तुलना पिछले रिलीज़ टैग से करते हैं। एक बदले हुए पेड़ को डाउनग्रेड के लिए असुरक्षित बताया गया है; एक अपरिवर्तित वृक्ष को माइग्रेशन-संगत के रूप में रिपोर्ट किया जाता है; अनुपलब्ध इतिहास को अज्ञात बताया गया है। यह स्वचालित तुलना प्रत्येक संभावित एप्लिकेशन-स्तरीय संगतता समस्या को मान्य नहीं करती है।
बाइनरी को पुराने संस्करण से बदलने से पहले, वर्तमान डेटा को सुरक्षित रखें और रिलीज़ की संगतता नोट्स का निरीक्षण करें। फॉरवर्ड माइग्रेशन कोड का मतलब रिवर्स माइग्रेशन नहीं है। वास्तविक डेटा निर्देशिका के लिए डेटाबेस बैकअप और पुनर्प्राप्ति प्रक्रियाओं का पालन करें।
सत्यापन जारी करें
bun test scripts
bun scripts/build.ts --only=artifacts --dry-run हेल्पर परीक्षण लक्ष्य मैपिंग, हस्ताक्षर आवश्यकताओं, आर्टिफैक्ट नामकरण, मैनिफ़ेस्ट हैंडलिंग और स्टेजिंग नियमों को मान्य करते हैं। ड्राई रन संकलित या हस्ताक्षर किए बिना नियोजित संचालन को प्रिंट करता है। न तो वास्तविक देशी बंडल का विकल्प, न ही अपडेटर डाउनलोड/इंस्टॉल परीक्षण, न ही साथी के लिए भौतिक-डिवाइस स्वीकृति।
एक परिचालन रिलीज़ के लिए, सटीक टैग/प्रतिबद्धता, वर्कफ़्लो परिणाम, लक्ष्य-विशिष्ट इंस्टॉलर और अद्यतन संपत्ति, चेकसम/हस्ताक्षर फ़ाइलें और प्रकाशित मैनिफ़ेस्ट बनाए रखें। सत्यापित करें कि इंस्टॉल किया गया ऐप अपना बंडल साइडकार और माइग्रेशन शुरू करता है और अपडेटर इच्छित प्लेटफ़ॉर्म एसेट का चयन करता है।
लक्ष्य और परिसंपत्ति संदर्भ
| प्लैटफ़ॉर्म | Rust का लक्ष्य | प्रकट कुंजी | अद्यतनकर्ता संपत्ति |
|---|---|---|---|
| macOS एप्पल सिलिकॉन | aarch64-apple-darwin | darwin-aarch64 | .app.tar.gz |
| मैकओएस इंटेल | x86_64-apple-darwin | darwin-x86_64 | .app.tar.gz |
| विंडोज़ एआरएम64 | aarch64-pc-windows-msvc | windows-aarch64, windows-aarch64-msi | .exe, .msi |
| विंडोज़ एक्स64 | x86_64-pc-windows-msvc | windows-x86_64, windows-x86_64-msi | .exe, .msi |
| लिनक्स एआरएम64 | aarch64-unknown-linux-gnu | linux-aarch64-deb, linux-aarch64-rpm | .deb, .rpm |
| लिनक्स x64 | x86_64-unknown-linux-gnu | linux-x86_64-deb, linux-x86_64-rpm | .deb, .rpm |
जेनरेटर को उपरोक्त प्रारूप में बिल्कुल एक परिसंपत्ति की आवश्यकता होती है, उसके आसन्न की .sig फ़ाइल, और नोट्स जारी करें। संपत्ति के नाम का उपयोग करें a <triple>-- उपसर्ग; डुप्लिकेट नाम और अनाथ हस्ताक्षर अस्वीकार कर दिए जाते हैं। टौरी अपडेटर 2.13.1 स्वचालित रूप से स्थापित पैकेज प्रकार का चयन करता है; लिनक्स AppImage के बिना हस्ताक्षरित डेबियन/आरपीएम पैकेज का उपयोग करता है।
मर्ज किए गए मेनिफेस्टों को संस्करण, प्रकाशन तिथि और नोट्स पर सहमत होना चाहिए। प्रकाशन के लिए उपरोक्त सभी दस कुंजियों की आवश्यकता होती है। Windows बेस कुंजियाँ पुराने क्लाइंट के लिए NSIS अनुकूलता बनाए रखती हैं; MSI कुंजियाँ MSI स्थापनाओं को सुरक्षित रखती हैं। यूआरएल को क्रेडेंशियल्स, क्वेरी या खंड के बिना HTTPS का उपयोग करना चाहिए। स्टेजिंग प्रत्येक लक्ष्य उपसर्ग, पैकेज प्रत्यय, हस्ताक्षर और रिलीज़ यूआरएल की जाँच करती है।
स्थानीय निर्माण विकल्प और हस्ताक्षरित इनपुट
bun --no-env-file scripts/build.ts --only=compile,resources --target=aarch64-apple-darwin --dry-run
bun --no-env-file scripts/build.ts --skip=install,check --target=x86_64-unknown-linux-gnu --bundles=deb,rpm --no-updater --dry-run निकालना --dry-run केवल तभी जब चयनित लक्ष्य टूलचेन और मूल आवश्यकताएँ स्थापित हों। Bun निष्पादन योग्य को क्रॉस-कंपाइल करना अपने आप में एक क्रॉस-प्लेटफ़ॉर्म टौरी लिंकर और बंडलर प्रदान नहीं करता है। --only और --skip परस्पर अनन्य हैं; --skip-install एक सुविधा उपनाम है. --no-updater अद्यतनकर्ता संग्रह/हस्ताक्षर निर्माण और उसके हस्ताक्षर गेट को छोड़ देता है।
| इनपुट | के लिए इस्तेमाल होता है |
|---|---|
TAURI_SIGNING_PRIVATE_KEY, TAURI_SIGNING_PRIVATE_KEY_PASSWORD | अद्यतनकर्ता हस्ताक्षर. पर्यावरण-प्रदत्त कुंजियाँ स्थानीय हस्ताक्षर कॉन्फ़िगरेशन पर प्राथमिकता लेती हैं। |
स्थानीय लोगों की अनदेखी tauri-signing.json | जब कोई पर्यावरण कुंजी प्रदान नहीं की जाती है तो स्थानीय अपडेटर-कुंजी फ़ॉलबैक। इसकी घोषित सार्वजनिक कुंजी कॉन्फ़िगर की गई अद्यतनकर्ता सार्वजनिक कुंजी के बराबर होनी चाहिए। |
CADCAM_RELEASE=1 | बिल्ड सत्यापन में प्लेटफ़ॉर्म रिलीज़-साइनिंग आवश्यकताओं को सक्षम करता है। |
APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_ID, APPLE_PASSWORD, APPLE_TEAM_ID | macOS रिलीज़ प्रमाणपत्र और नोटरीकरण कॉन्फ़िगरेशन। |
WINDOWS_CERTIFICATE, WINDOWS_CERTIFICATE_PASSWORD, आयातित प्रमाणपत्र अंगूठे का निशान | विंडोज़ रिलीज़ पर हस्ताक्षर; सीआई आयात करता है और बाद में प्रमाणपत्र हटा देता है। |
बिल्ड केवल बंडलिंग चरण के लिए स्थानीय अपडेटर क्रेडेंशियल लोड करता है, और पर्यावरण के माध्यम से हस्ताक्षरित मानों को उस चाइल्ड प्रक्रिया में भेजता है। स्थानीय हस्ताक्षरित फ़ाइलों को प्रिंट न करें या दस्तावेज़ीकरण उदाहरण में वास्तविक कुंजी सामग्री न रखें। एक निजी कुंजी जो किसी इंस्टॉल किए गए ऐप की सार्वजनिक कुंजी से मेल नहीं खाती है, उस ऐप के लिए स्वीकृत अपडेट नहीं बना सकती है।
रिलीज़ विफलता निदान
| असफलता | व्याख्या और अगली जाँच |
|---|---|
| टैग/एप्लिकेशन संस्करण असहमत है | चुना हुआ v-प्रीफिक्स्ड टैग टौरी कॉन्फ़िगरेशन में संस्करण से मेल नहीं खाता है। प्लेटफ़ॉर्म बनने से पहले रिलीज़ सत्यापन रुक जाता है। |
| असमर्थित लक्ष्य | समर्थित आर्किटेक्चर/प्लेटफ़ॉर्म मैपिंग और स्थापित रस्ट लक्ष्य का उपयोग करें; मेनिफेस्ट प्रकाशन उपरोक्त छह कुंजियों का समर्थन करता है। |
| अद्यतनकर्ता हस्ताक्षर कुंजी गुम है | गुप्त स्टोर/स्थानीय कॉन्फ़िगरेशन के माध्यम से हस्ताक्षरित इनपुट प्रदान करें या जानबूझकर एक का चयन करें --no-updater विकास निर्माण. |
| शून्य या एकाधिक अद्यतनकर्ता संपत्ति | अनुक्रमित लक्ष्य निर्देशिका का निरीक्षण करें; पुराने या बेमेल अभिलेख चयन को अस्पष्ट बनाते हैं। |
| प्रकट मेटाडेटा असहमत है | सभी प्लेटफ़ॉर्म नौकरियों को समान हल किए गए संस्करण/तिथि/नोट्स और कमिट का उपयोग करना चाहिए। |
| रिलीज़ पहले ही प्रकाशित हो चुकी है | वर्कफ़्लो इसे संशोधित करने से इंकार कर देता है। पुनः चलाना कोई अधिलेखित तंत्र नहीं है. |
| इंस्टॉल किए गए ऐप पर अपडेटर जांच विफल हो जाती है | समापन बिंदु पहुंच योग्यता, प्रकट लक्ष्य कुंजी, डाउनलोड यूआरएल, परिसंपत्ति हस्ताक्षर और एम्बेडेड सार्वजनिक कुंजी का निरीक्षण करें। |
| सहेजे न गए कार्य के साथ इंस्टालेशन अस्वीकृत | संपादक के माध्यम से सक्रिय कार्य को सहेजें या हटा दें, फिर लंबित अद्यतन का पुनः प्रयास करें। |
एक उपयोगी रिलीज़ रिपोर्ट रिकॉर्ड करती है कि कौन सा चरण विफल रहा और वह किस लक्ष्य का निर्माण कर रहा था। गैर-गुप्त आर्टिफैक्ट नाम, सत्यापन त्रुटियां और वर्कफ़्लो पहचानकर्ता शामिल करें। अपडेटर अभ्यास के दौरान पिछले स्थापित संस्करण और सत्यापित डेटा बैकअप को उपलब्ध रखें; माइग्रेशन अनुकूलता की जाँच हस्ताक्षर वैधता से अलग से की जाती है।
कार्यान्वयन एंकर: scripts/release-helpers.ts, signing-config.ts, updater-manifest.ts, stage-release.ts, और apps/desktop/src-tauri/src/updater.rs.
छह निर्माण चरण
| # | कदम | उपनाम | यह क्या करता है |
|---|---|---|---|
| 1 | install | विभाग | bun install --frozen-lockfile |
| 2 | check | जाँच, परीक्षण, परीक्षण | bun run typecheck |
| 3 | compile | साइडकार | संकलन apps/sidecar/src/main.ts तक src-tauri/binaries/sidecar-<triple> |
| 4 | resources | संसाधन, पलायन | प्रतिलिपि packages/db/drizzle/ तक src-tauri/resources/migrations/ |
| 5 | bundle | बंडलिंग | डेस्कटॉप ऐप vite build, तब bunx tauri build |
| 6 | artifacts | कलाकृतियाँ, नोट्स, चेकसम, रिलीज़ | SHA256SUMS और RELEASE_NOTES.md अंतिम टैग के बाद से कमिट से |
कदम हमेशा इसी क्रम में चलते हैं और एक असफल कदम चलने को रोक देता है। स्क्रिप्ट कभी नहीं पढ़ी जाती .env फ़ाइलें और कभी भी गुप्त मान मुद्रित नहीं करतीं।
| विकल्प | Effect |
|---|---|
--only=a,b / --skip=a,b | चरण चलाएँ या छोड़ें (नाम या उपनाम) |
--skip-install | के समान --skip=install |
--target=<triple> | Rust लक्ष्य; डिफ़ॉल्ट होस्ट ट्रिपल है rustc -vV |
--bundles=<list> | को अग्रेषित किया गया tauri build --bundles |
--no-updater | अद्यतनकर्ता अभिलेखों और हस्ताक्षरों के बिना इंस्टॉलर |
--out-dir=<path> | जहां चरण 6 लिखता है; गलती करना apps/desktop/src-tauri/target/release-artifacts |
--dry-run | योजना मुद्रित करें; लिखें और कुछ भी न बदलें |
bun scripts/build.ts --dry-run # whole plan, no side effects
bun scripts/build.ts --only=resources # restage migrations (idempotent)
bun scripts/build.ts --only=compile,resources # rebuild the sidecar and migrations
bun scripts/build.ts --only=notes --dry-run # preview release notes
bun scripts/build.ts --target=aarch64-apple-darwin स्थानीय अपडेटर हस्ताक्षर एक अनदेखा का उपयोग करता है tauri-signing.json जब परिवेश में कोई हस्ताक्षर कुंजी सेट न हो. प्लेटफ़ॉर्म प्रमाणपत्र की अभी भी आवश्यकता है जब CADCAM_RELEASE=1.
रिलीज मैट्रिक्स
| लक्ष्य | हरकारा | बंडल | स्लग जारी करें |
|---|---|---|---|
aarch64-apple-darwin | मैकोज़-14 | ऐप, डीएमजी | मैकोज़-आर्म64 |
x86_64-apple-darwin | मैकोज़-14 | ऐप, डीएमजी | मैकोज़-x64 |
x86_64-pc-windows-msvc | विंडोज़-नवीनतम | एमएसआई, एनएसआईएस | विंडोज़-x64 |
aarch64-pc-windows-msvc | खिड़कियाँ-11-आर्म | एमएसआई, एनएसआईएस | विंडोज़-आर्म64 |
x86_64-unknown-linux-gnu | उबंटू-22.04 | देब, आरपीएम | लिनक्स-एक्स64 |
aarch64-unknown-linux-gnu | उबंटू-22.04-आर्म | देब, आरपीएम | लिनक्स-आर्म64 |
- एक विश्वसनीय कार्य एप्लिकेशन संस्करण के विरुद्ध रिलीज़ टैग को मान्य करता है।
- प्रत्येक मैट्रिक्स कार्य चलता है
bun --no-env-file scripts/build.ts --target=… --bundles=… --out-dir=release, अपने पैकेज प्रारूपों के लिए एक मैनिफ़ेस्ट पर हस्ताक्षर करता है और बनाता है। विंडोज़ आयात करता है और बाद में अपना वैकल्पिक हस्ताक्षर प्रमाणपत्र हटा देता है। - एक मर्ज कार्य सभी छह आर्किटेक्चर मैनिफ़ेस्ट और उनकी दस पैकेज प्रविष्टियों को एक में मान्य करता है
latest.json. - एक पूर्ण कार्य एकल संस्करण रिलीज को बनाने या फिर से शुरू करने और इसे प्रकाशित करने से पहले सभी इंस्टॉलर कलाकृतियों, हस्ताक्षर, चेकसम और नोट्स को सत्यापित करता है।
प्रत्येक पुश पर सीआई दो कार्य चलाता है: इंस्टॉल, टाइपचेक और परीक्षण (और साइडकार बाइनरी और माइग्रेशन को चरणबद्ध करता है), और क्लिपी और के साथ एक रस्ट कार्य src-tauri परीक्षण.