Meson CI 设置

本文档面向 Meson 贡献者,介绍用于测试 Meson 本身的 CI 设置。Meson 项目使用多个 CI 平台来覆盖各种目标系统。

GitHub Actions

GitHub Actions 的配置文件位于 .github/workflows 中。在这里,所有 镜像 都使用完整的 run_tests.py 运行进行测试。此外,还运行了一些其他较小的测试。

Docker 镜像

Linux Docker 镜像由 GitHub Actions 自动构建并上传。当主分支中的任何镜像定义文件(位于 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 测试套件之前,必须获取此脚本。

搜索结果为