Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
如何为我的Composer包设置自动化的GitHub Actions?_创想鸟

如何为我的Composer包设置自动化的GitHub Actions?

配置 GitHub Actions 自动化流程可实现测试、代码质量检查与自动发布。1. 在项目根目录创建 .github/workflows/ci.yml 文件,定义触发条件为推送至 main 或 develop 分支及 pull_request 至 main 分支,设置 Ubuntu 环境下多 PHP 版本矩阵测试,依次执行代码检出、PHP 环境搭建、composer 文件验证、依赖缓存与安装,最后运行 composer test。2. 确保 composer.json 中定义 test 脚本,如使用 PHPUnit、PHPCS、PHPStan 等工具,并在 require-dev 中安装对应包。3. 在 CI 工作流中添加静态分析步骤,运行 composer stan 和 composer check-cs 以执行 PHPStan 和 PHPCS 检查,提升代码质量。4. 可选配置自动发布到 Packagist:在 GitHub Secrets 中设置 PACKAGIST_EMAIL 与 PACKAGIST_API_TOKEN,新增 deploy job,当 git tag 推送时触发,通过 curl 调用 Packagist API 更新包信息。完成配置后,项目将具备完整的持续集成与自动化发布能力。

如何为我的composer包设置自动化的github actions?

为你的 Composer 包设置 GitHub Actions 自动化,能帮你自动运行测试、检查代码质量和发布包。下面是如何一步步配置一个实用的自动化流程。

1. 创建基本的 GitHub Actions 工作流文件

在项目根目录创建 .github/workflows/ci.yml 文件,这是 GitHub Actions 的工作流配置文件。

以下是一个适用于 PHP Composer 包的基础 CI 配置:

name: CI

on:push:branches: [ main, develop ]pull_request:branches: [ main ]

jobs:test:runs-on: ubuntu-lateststrategy:matrix:php-version: ['7.4', '8.0', '8.1', '8.2']

steps:  - name: Checkout code    uses: actions/checkout@v4  - name: Setup PHP    uses: shivammathur/setup-php@v2    with:      php-version: ${{ matrix.php-version }}      extensions: mbstring, dom      coverage: none  - name: Validate composer.json and composer.lock    run: composer validate --strict  - name: Cache dependencies    uses: actions/cache@v3    with:      path: vendor      key: composer-${{ hashFiles('**/composer.lock') }}  - name: Install dependencies    run: composer install --no-progress --no-suggest  - name: Run tests    run: composer test

2. 确保 composer.json 中定义测试脚本

GitHub Actions 会运行 composer test,所以你需要在 composer.json 中定义它。

例如:

"scripts": {    "test": "phpunit"}

如果你用的是 Pest、PHPCS、PHPStan 等工具,也可以组合命令:

"scripts": {    "test": "phpunit",    "check-cs": "phpcs --standard=PSR12 src/",    "stan": "phpstan analyse src/"}

你可以在 CI 中依次运行这些检查。

3. 添加静态分析和代码风格检查

在 CI 流程中加入代码质量检查,可以避免低级错误被合并。

修改工作流,在“Run tests”之后添加:

- name: Run PHPStan  run: composer stan
  • name: Check coding standardsrun: composer check-cs

确保相关工具已安装:

composer require --dev phpunit/phpunit squizlabs/php_codesniffer phpstan/phpstan

4. (可选)自动发布到 Packagist

当打 tag 时,可以自动触发 Packagist 更新。

使用 Packagist 的 API token 设置自动通知:

在 GitHub 仓库的 Settings → Secrets and variables → Actions 中,添加 secret:

PACKAGIST_EMAIL: 你的 Packagist 邮箱PACKAGIST_API_TOKEN: 在 Packagist.org 账户中生成的 API token

然后在 workflow 中添加发布 job:

deploy:  needs: test  runs-on: ubuntu-latest  if: startsWith(github.ref, 'refs/tags/')

steps:

  • name: Notify Packagistuses: ramsey/composer-install@v2with:composer-command: updateworking-directory: .
  • name: Call Packagist APIrun: |curl -X POST https://www.php.cn/link/8ebef38fe0b242f7c7a87e7f5b2de305 -F 'email=${{ secrets.PACKAGIST_EMAIL }}' -F 'apiToken=${{ secrets.PACKAGIST_API_TOKEN }}'

基本上就这些。你的 Composer 包现在有了完整的自动化测试和可选的自动发布能力。每次推送或 PR 都会自动验证代码,减少人工出错。

以上就是如何为我的Composer包设置自动化的GitHub Actions?的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/131631.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何用站长工具查网站信息
上一篇 2025年11月28日 19:01:27
路由器后台登录入口 路由器无线网络设置详细教程
下一篇 2025年11月28日 19:01:37

相关推荐

发表回复

登录后才能评论
关注微信