前言
開源之夏是什么
?先來簡單介紹?下開源之夏。
開源之夏是開源軟件供應鏈點亮計劃下的?個暑期活動,由中國科學院軟件研究所與openEuler社區聯合主辦,旨在?勵在校學?積極參與開源軟件的開發維護,促進優秀開源軟件社區的蓬勃發展。
活動聯合各?開源社區,針對開源項?的開發與維護提供 mini 任務,開放給全球?校學?報名申請。學?可?主選擇感興趣的項?進?申請,并在中選后獲得社區資深開發者親?指導的機會。項?成功結項并貢獻給社區后,參與者將獲得開源之夏活動獎?和結項證書。
學?可?主選擇感興趣的項?進?申請,中選后在項?開發者(社區導師)的指導下進?開發。根據項?的難易程度和完成情況,結項者將獲取開源之夏活動獎?和結項證書。開源之夏官?:https://summer-ospp.ac.cn/我參與開源之夏的?些契機
?先介紹?下我的情況,我是?名研究?,今年的下半年就要找?作。?般來說應該在這個暑期找?份實習,來為后?的找?作做準備,但是很可惜,因為某些不可抗?,我?法實現這?計劃。不過這個時候我有同學給我分享了開源之夏(在這?我要?常感謝分享給我這個活動的同學)。由于開源活動、開源實習基本是全程線上,適合因為某些原因?法實習的同學參與,剛剛好可以稍微替代?下暑期實習。
開源之夏的申請過程
RT-Thread算是最早?批的加?開源之夏的社區,在?絡上也可以搜到前?年的開源之夏相關的信息。
今年的開源之夏RT-Thread社區同樣也準備不少可選的項?。
在這個??可以看到RT-Thread社區今年的項?列表。
https://summer-ospp.ac.cn/org/orgdetail/8bce77cd-7c54-48b8-a3e6-f816338692cb
我選擇的項?是:rt-thread上?CI來驗證軟件包的編譯情況(基礎)
對于主流和常?的軟件包,添加CI編譯機制,結合官?給出的pkgs-test,構建?個CI機器?,能夠在master提交和修改代碼的時候,能夠知道哪些軟件包編譯不過,并且能夠?成編譯結果報告,并且將?些可以在qemu上運?的?些程序在qemu上運?并且輸出結果。先以qemu-vexpress-a9為基準測試軟件包
因為我在之前剛好?過CI?具測試過zepherRTOS的項?,因此我看到這個就?上添加到待選列表??了。
開源之夏的申請?法是需要提交項?的申請書和個?簡歷(申請書在開源之夏?站上會有模版提供)。于是我在了解整個項?過后完成了這兩份材料。
完成材料之后,我根據導師的聯系?式,向導師提供了申請書并根據項?的?些內容介紹了??的相關經驗,?概確定了意向(其實這?我看了項?倉庫的fork和star感覺沒有其他?申請,因此我就沒有再準備申請其他的項?)。
在項?確定下來之后我就開始進?開源之夏的活動了。
項目內容
倉庫主?https://github.com/RT-Thread/pkgs-test
項目介紹
官?的項?說明可以在這?查看
https://summer-ospp.ac.cn/org/prodetail/238bc0128
關于這個項??先需要了解?下什么是RT-Thread的軟件包,RT-Thread軟件包是運?在RT-Thread系統上?的?套通?的代碼庫。相當于提供了很多模塊,?如各種外設的驅動、?具等等,只要使?的是RT-Thread操作系統,就都可以導?并使?。RTThread軟件包和RT-Thread操作系統?樣是?個開源的平臺,任何?都可以制作??的軟件包,也可以去幫助維護別?的軟件包。
因為這種?由、開放的特性,軟件包社區??會遇到某些軟件包?法使?、不能編譯通過的問題。
-
版本迭代造成的編譯問題(內核?件改動后,軟件包沒有去做版本控制)
- 架構沖突以及 bsp 依賴問題(某些軟件包只在特定的架構或 bsp 中可?)
因此需要?個?具來暴露出社區軟件包的相關編譯問題。
使用場景
下?是軟件包測試?具的使?場景。1.本地使用
A. 對特定的軟件包,在?些指定的bsp、rt-thread版本上進?測試。
B. 指定某?個特定的版本或所有版本。
C. 指定的軟件包集合。
2. 作為Github Action使?,測試軟件包是否?持?些rtt版本和bsp。
a.軟件包開發者
-
軟件包測試:更新軟件包的代碼之后,?動對軟件包進?測試。
-
rt-thread的master測試:定時對軟件包進?測試,檢查是否?持rt-thread的master版本。
b.rt-thread社區維護?員
-
所有軟件包測試:定時對全部軟件包在master 分?或指定的?些版本上進?測試,并發布測試結果到github pages。
-
軟件包索引更新測試:軟件包索引發?改動時,對改動的部分軟件包進?測試,在github pages上面更新這部分測試結果。
-
rt-thread版本發布測試:rt-thread版本發布后對全部的軟件包進?測試。
-
精品軟件包集合測試(TODO):對?些制定的精品軟件包集合進?測試,?如當rt-thread的master分?改動時,測試這些軟件包。
對于?些更具體的介紹,可以來看這?篇?章。
https://club.rt-thread.org/ask/article/9c05fc7fcc0223fe.html
項目工作我在接?這個項?的時候,已經完成了本地測試的使?和軟件包索引倉庫使?的?些基本功能,我是在此基礎上進?開發的。
截止到目前,我完成的內容?概如下:
-
將測試的?些參數(如內核版本,測試的bsp等)通過程序運?的參數傳?。之前是通過修改配置?件來實現的,如果是作為ci?具使?不是很?便。
-
將軟件包的測試結果?成json并發布到github pages,主要是提供?個獲取軟件包可?性的?式。完成了對新舊測試結果的合并,以及上傳沖突的解決?案。
https://rt-thread.github.io/packages/pkgs_res.json
-
從json?成了?個html??也發布到了githubpages,這?原來是有?個html報告的,主要是從直接?成html改成了從json?成,然后增加了測試時有每個版本有多少個軟件包通過了測試等信息。
https://rt-thread.github.io/packages/
-
然后就是在軟件包索引倉庫添加了這個?具,完成了定期對全部軟件包進?測試。
接下來主要的?作,就是去在RT-Thread倉庫??去集成這個?具,對rt-thread倉庫的每次代碼在?些精選的套裝軟體上?進?測試。以及去完善?下?動測試后的回響,每次測試結果都不是很?便查看,需要通過actions?動在pr??回復相關的?些信息,讓開發者能夠更?便的了解到哪?出了問題,為什么沒通過檢查。
———————End———————
點擊閱讀原文進入官網
?
原文標題:【開源之夏2023】聊?聊開源之夏以及項目的進展(rt-thread上用CI來驗證軟件包的編譯情況)
文章出處:【微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
-
RT-Thread
+關注
關注
31文章
1301瀏覽量
40265
原文標題:【開源之夏2023】聊?聊開源之夏以及項目的進展(rt-thread上用CI來驗證軟件包的編譯情況)
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論