The Debian build environment in the CI workflows for both qwlroots and
waylib has been changed from `experimental` to `unstable`. This change
was necessary because the `experimental` environment was proving to
be unstable, frequently causing CI failures. Debian `unstable` is more
reliable and now provides wlroots 0.19 which meets the required version.
The apt sources in the build workflows have been updated to reflect
this change.
Influence:
1. Monitor CI build stability for both qwlroots and waylib on the Debian
unstable environment.
2. Verify that the builds are successful and that the required
dependencies, including wlroots 0.19, are correctly installed.
3. Check for any compatibility issues introduced by the change in the
build environment.
chore: 更改 Debian 构建环境为 unstable
qwlroots 和 waylib 的 CI 工作流程中的 Debian 构建环境已从 `experimental`
更改为 `unstable`。 这一更改是必要的,因为 `experimental` 环境被证明不
稳定,经常导致 CI 失败。 Debian `unstable` 更加可靠,现在提供 wlroots
0.19,满足了所需的版本。 构建工作流程中的 apt 源已更新以反映此更改。
Influence:
1. 监控 Debian unstable 环境上 qwlroots 和 waylib 的 CI 构建稳定性。
2. 验证构建是否成功,以及是否正确安装了所需的依赖项,包括 wlroots 0.19。
3. 检查构建环境更改引入的任何兼容性问题。
This commit removes the branch filters from the `on` triggers in several
GitHub workflow files. Specifically, the `branches: - master` filter has
been removed from the `push` and `pull_request` triggers in `.github/
workflows/qwlroots-archlinux-build.yml`, `.github/workflows/qwlroots-
debian-build.yml`, `.github/workflows/treeland-archlinux-build.yml`,
`.github/workflows/waylib-archlinux-build.yml`, and `.github/workflows/
waylib-debian-build.yml`.
This change ensures that the workflows are triggered for all branches,
including feature branches and release branches, rather than being
limited to the `master` branch. This provides better coverage for
automated builds and tests whenever changes are pushed or a pull request
is created against *any* branch. This is important as the project
evolves beyond relying solely on master and introduces feature branches,
ensuring consistent CI across development.
Influence:
1. Verify that all workflows trigger correctly on pushes and pull
requests for all branches, not just master.
2. Create a pull request to a new branch and ensure that all relevant
workflows are triggered.
3. Push a commit to a new branch and verify that all relevant workflows
are triggered.
重构: 移除工作流程触发器的分支筛选器
此提交从多个 GitHub 工作流程文件的 `on` 触发器中删除了分支筛选器。
具体来说,已从 `.github/workflows/qwlroots-archlinux-build.yml`、
`.github/workflows/qwlroots-debian-build.yml`、`.github/workflows/
treeland-archlinux-build.yml`、`.github/workflows/waylib-archlinux-
build.yml` 和 `.github/workflows/waylib-debian-build.yml` 中的 `push` 和
`pull_request` 触发器中删除 `branches: - master` 筛选器。
此更改确保工作流程在所有分支(包括功能分支和发布分支)上触发,而不是仅限
于 `master` 分支。 无论何时推送更改或针对*任何*分支创建拉取请求,这都为
自动构建和测试提供了更好的覆盖范围。 这一点很重要,因为项目的发展不仅仅
依赖于 master,还引入了功能分支,确保了整个开发过程中的持续集成。
Influence:
1. 验证所有工作流程是否在所有分支(不仅仅是 master)的推送和拉取请求上正
确触发。
2. 创建一个到新分支的拉取请求,并确保所有相关的工作流程都被触发。
3. 将提交推送到一个新分支,并验证所有相关的工作流程是否被触发。
1. Replace manual CMake configuration with --preset ci in all ArchLinux
workflows
2. Add new CI build preset in CMakePresets.json with -Werror enabled
3. Remove redundant per-project CMake configuration steps
4. Simplify workflow steps by combining configure and build phases
5. Maintain compatibility with existing build requirements while
standardizing
The changes standardize build configuration across projects using a
centralized CMake preset. This ensures consistent build behavior while
maintaining the strict -Werror flag for CI builds. The update simplifies
workflow maintenance and improves build reliability by using CMake's
modern preset system.
This commit modifies the GitHub Actions workflows for waylib builds to
ensure they are triggered when qwlroots code changes occur, since waylib
depends on qwlroots.
Changes:
1. Added 'qwlroots/**' to the paths trigger for waylib-archlinux-build.yml
2. Added 'qwlroots/**' to the paths trigger for waylib-debian-build.yml
3. Updated README.md to document the CI workflow dependencies
4. Updated README.zh_CN.md to maintain consistency across all language versions
This ensures proper dependency management and prevents build failures
when qwlroots modifications affect waylib compilation.
ci: 当qwlroots代码修改时触发waylib构建
此提交修改了waylib构建的GitHub Actions工作流,确保在qwlroots
代码发生变化时触发waylib构建,因为waylib依赖于qwlroots。
变更内容:
1. 在waylib-archlinux-build.yml的路径触发器中添加'qwlroots/**'
2. 在waylib-debian-build.yml的路径触发器中添加'qwlroots/**'
3. 更新README.md文档记录CI工作流的依赖关系
4. 更新README.zh_CN.md保持所有语言版本文档的一致性
这确保了正确的依赖管理,防止qwlroots修改影响waylib编译时
出现构建失败的情况。
The ArchLinux build workflows for qwlroots, treeland and waylib now
create a zip archive of the installed files in a staging directory
and upload it as an artifact. This allows for easy inspection of the
built files and verification of the build process's correctness. The
zip includes a `PACKAGE_INFO.txt` containing package metadata, build
configuration details, and a list of installed files. Pacman is used to
install the zip tool if it isn't already available.
feat: 上传构建产物为 zip 压缩包
qwlroots、treeland 和 waylib 的 ArchLinux 构建工作流程现在会在暂存目录中
创建已安装文件的 zip 压缩包,并将其作为工件上传。这样可以方便地检查构建
的文件并验证构建过程的正确性。该 zip 包含一个 `PACKAGE_INFO.txt`,其中包
含包元数据、构建配置详细信息和已安装文件列表。 如果 zip 工具尚不可用,则
使用 Pacman 安装它。
1. Fixes and updates CI configurations for treeland.
2. Merges `reuse` files for comprehensive license information.
3. Updates dependencies in `debian/control` to align with the combined
codebase.
4. Introduces separate build workflows for `waylib` and `qwlroots` to
ensure they can be built independently.
5. This ensures modularity and prevents accidental breakages during
future development, maintaining the option to separate these components
again.
chore: 修复 CI 并启用独立构建
1. 修复并更新了 treeland 的 CI 配置。
2. 合并 `reuse` 文件以提供全面的许可证信息。
3. 更新了 `debian/control` 中的依赖项,以与合并的代码库保持一致。
4. 引入了 `waylib` 和 `qwlroots` 的独立构建工作流程,以确保它们可以独立
构建。
5. 确保模块化,防止未来开发过程中意外损坏,保持再次分离这些组件的选项。