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.
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. 确保模块化,防止未来开发过程中意外损坏,保持再次分离这些组件的选项。