Meson CI 設定
本文檔旨在為 Meson 貢獻者提供資訊,並記錄用於測試 Meson 本身的 CI 設定。Meson 專案使用多個 CI 平台來涵蓋廣泛的目標系統。
GitHub 動作
GitHub 動作的設定檔位於 .github/workflows
中。在這裡,所有的映像檔都會使用完整的 run_tests.py
執行來進行測試。此外,也會執行其他一些較小的測試。
Docker 映像檔
Linux Docker 映像檔由 GitHub 動作自動建置和上傳。當主分支中任何映像檔定義檔(位於 ci/ciimage
中)發生變更時,就會觸發映像檔重建。此外,這些映像檔也會每週更新一次。
每個 Docker 映像檔在 ci/ciimage
中都有一個對應的目錄,其中包含 image.json
和 install.sh
。
映像檔產生
沒有手動的 Dockerfile。相反,Dockerfile 是由 build.py
腳本自動產生。這樣做的目的是確保所有映像檔都具有相同的佈局,並且都可以自動建置和測試。
Dockerfile 是從 image.json
檔案產生的,基本上只會新增一些通用檔案並執行 install.sh
腳本,該腳本應包含所有與發行版本相關的設定步驟。可以透過 source /ci/common.sh
取得 common.sh
來存取一些共用功能。
要產生映像檔,請執行 build.py -t build <image>
。可以使用 build.py -t test <image>
測試產生的映像檔。
通用映像檔設定
每個 Docker 映像檔都有一個 /ci
目錄,其中包含 env_vars.sh
腳本。在執行 Meson 測試套件之前,必須先取得此腳本的來源。
搜尋結果如下