發行成品與驗證¶
本頁列出 Weblate 發行產物及受維護的散布管道,並說明如何驗證包含已公開簽章、證明及 SBOM 的產物。支援的版本及安全性更新涵蓋範圍請參閱 發行版本與支援的版本。相依套件監控及容器弱點掃描請參閱 相依套件。
發行產物清冊¶
Weblate 發行版本及受維護的散布管道會透過數個管道發佈。此清冊列出本儲存庫所述的產物,以及維護其發佈證據的位置。對於在 Weblate 擁有的同層級儲存庫中維護的產物,表格會註明建置及發行自動化所在的儲存庫。
產物或管道 |
所屬儲存庫或位置 |
發佈目標 |
儲存庫證據 |
備註 |
|---|---|---|---|---|
原始碼發行版本及 GitHub 發行資產 |
|
|
發行資產包括 Python 散布封存檔、版本資訊及發行 SBOM。 |
|
Python 套件 |
|
散布工作流程會建置、驗證、簽署套件,並使用 PyPI 信任發佈加以發佈。 |
套件中繼資料及相依套件維護於此儲存庫中。 |
|
Docker 映像 |
Weblate Dockerfile 、 Weblate Docker 映像工作流程 、 Weblate Docker 容器 CI 工作流程 、 使用 Docker 安裝 、 發佈 Weblate 與 |
工作流程會建置多架構映像、執行容器測試、使用 Anchore 與 Trivy 掃描,並發佈至 Docker Hub 及 GitHub Packages。已發佈的映像摘要會使用 Cosign 簽署,建置程序也會發佈 BuildKit SBOM 及來源證明。 |
||
Kubernetes Helm chart |
Weblate Helm chart、Weblate Helm release workflow、Weblate Helm test workflow、Weblate Helm dependency review workflow 及 在 Kubernetes 上安裝 |
圖表發行工作流程會在 |
||
說明文件 |
|
|
Read the Docs 專案設定不再被儲存於此儲存庫。 |
|
Weblate Client 套件及發行版本 |
Weblate Client distribution workflow、Weblate Client metadata 及 Weblate 用戶端 |
工作流程會建置及驗證原始碼與 wheel 產物、使用信任發佈將其發佈至 PyPI、為標籤建立 GitHub 發行版本、將套件 SBOM 檔案附加至 GitHub 發行版本,並建立套件來源證明及 SBOM 證明。 |
||
Weblate 用戶端 Docker 映像 |
Weblate 用戶端 Dockerfile 、 Weblate 用戶端 Docker 工作流程 與 Weblate 用戶端 |
工作流程會建置多架構映像、測試指令列用戶端映像、使用 Anchore 與 Trivy 掃描,並發佈至 Docker Hub 及 GitHub Packages。已發佈的映像摘要會使用 Cosign 簽署、使用 Syft 產生 CycloneDX 映像 SBOM,並將映像來源證明及 SBOM 證明推送至映像存放區。 |
dev-docker/ 中的開發 Docker 檔案及 .clusterfuzzlite/ 中的模糊測試容器定義,屬於開發及測試基礎架構,而非正式環境的發行產物。
Docker Compose 檔案,包括 Weblate Docker Compose repository 及本機覆寫範例,是部署設定範例,而非發行產物。營運者通常會依自身部署環境加以調整,並主要透過選取或提取 Docker 映像標籤來更新 Weblate。這些檔案不屬於本頁所述發行簽章、SBOM 或來源聲明的涵蓋範圍。
軟體物料清單¶
Weblate 為已釋出版本釋出一份使用 CycloneDX 格式的軟體物料清單 (SBOM)。該 SBOM 是一份 GitHub release assets 中支援版本的 weblate-<version>-sbom.cdx.json 檔案,並用 GitHub artifact 證明附加到釋出來源。這可被用於檢查相依套件的安全問題或授權合規性。
發行 SBOM 會記錄 CISA 2025 最低要素的文件層級中繼資料,包括 SBOM 作者、軟體製作者、產生工具、時間戳記、產生環境及 Weblate 發行元件辨識資訊。相依套件元件細節由發行期間使用的生態系 SBOM 產生器輸出。因此,Python 元件授權及雜湊的完整度取決於 uv 對 CycloneDX 匯出的支援。
驗證釋出工件¶
Weblate 發行工作流程會在 GitHub release assets 中,公開 Weblate Python 原始碼散布套件及 wheel 的驗證資料。發行資產包含套件封存檔、Sigstore 簽章套件、版本資訊及發行 SBOM。相同的套件封存檔會使用信任發佈上傳至 PyPI,但 Sigstore 套件檔案不會上傳至 PyPI,因為發行工作流程會在發佈前移除 PyPI 不接受的檔案。
需要已公開的簽章、證明及 SBOM 時,請驗證從 GitHub 發行資產下載的檔案。可以依檔名及摘要,將 PyPI 套件檔案與相符的 GitHub 發行資產進行比較。
發行簽署¶
Weblate 套件封存檔會使用 Sigstore 簽章進行密碼學簽署。簽章套件會附加至 GitHub 發行版本,與已簽署的 .tar.gz 及 .whl 檔案放在一起。
可使用 sigstore 套件 執行驗證。下列範例會驗證 5.4 發行版本的 wheel;請依要檢查的發行版本調整版本及檔名:
sigstore verify github \
--cert-identity https://github.com/WeblateOrg/weblate/.github/workflows/setup.yml@refs/tags/weblate-5.4 \
--bundle Weblate-5.4-py3-none-any.whl.sigstore \
Weblate-5.4-py3-none-any.whl
發行證明¶
發行工作流程會為套件封存檔建立兩種 GitHub artifact attestations:
由
.github/workflows/setup.yml使用 actions/attest-build-provenance 產生的建置來源證明。由
.github/workflows/setup.yml使用 actions/attest 及 CycloneDX 發行 SBOM 產生的 SBOM 證明。
可以使用 gh 驗證證明。下列範例會檢查 5.4 wheel 的建置來源證明:
gh attestation verify Weblate-5.4-py3-none-any.whl \
--repo WeblateOrg/weblate \
--source-ref refs/tags/weblate-5.4 \
--signer-workflow WeblateOrg/weblate/.github/workflows/setup.yml
使用 CycloneDX 述詞類型,驗證附加至相同套件產物的 SBOM 證明:
gh attestation verify Weblate-5.4-py3-none-any.whl \
--repo WeblateOrg/weblate \
--source-ref refs/tags/weblate-5.4 \
--signer-workflow WeblateOrg/weblate/.github/workflows/setup.yml \
--predicate-type https://cyclonedx.org/bom
SBOM 與驗證和¶
發行 SBOM 是名為 weblate-<version>-sbom.cdx.json 的 CycloneDX JSON 檔案,並附加至 GitHub 發行資產。SBOM 證明附加至套件封存檔,而不是將 SBOM 檔案視為獨立發行產物加以附加。
Weblate 目前不會另行為發行產物公開 SHA256SUMS 之類的檢查碼清單。
其他發行管道¶
發行產物清冊目前未列出 Helm 圖表的簽章、SBOM 或來源證明。本節驗證說明適用於此儲存庫發佈的 Weblate Python 發行產物。Docker 映像及 Weblate Client 的供應鏈中繼資料由其所屬儲存庫公開。