piotrpress / github-composer
此 Composer 插件支持使用 GitHub 工作流工件作为 Composer 仓库。
v2.0.0
2024-02-20 14:51 UTC
Requires
- php: >=7.4
- composer-plugin-api: ^2.0
- guzzlehttp/guzzle: ^7.0
- piotrpress/streamer: ^1.0
Requires (Dev)
- composer/composer: ^2.0
This package is auto-updated.
Last update: 2024-09-20 16:16:43 UTC
README
此 Composer 插件支持使用 GitHub 工作流工件 作为 Composer 仓库。
它还提供了 GitHub 工作流 来根据 GitHub 仓库中的包构建和更新 Composer 仓库。
示例 composer.json
{ "repositories": [ { "type": "composer", "url": "github.artifacts://PiotrPress/packages" } ] }
安装
- 将插件作为全局 Composer 要求添加
$ composer global require piotrpress/github-composer
- 允许插件执行
$ composer config -g allow-plugins.piotrpress/github-composer true
身份验证
添加 GitHub API 认证 凭据
$ composer config --global http-basic.github.com x-oauth-basic <token>
注意:建议使用 --global
选项以将凭据保存在项目文件之外。
参数
工作流
此插件还附带两个 可重用工作流,这些工作流旨在根据提供的所有者所属的 GitHub 仓库中的包构建和更新 packages.json 工件。
构建
将以下内容的 .github/workflows/build.yml
文件添加到应保存包含包列表的工件的 GitHub 仓库中。
name: Build packages.json on: workflow_dispatch: repository_dispatch: types: [ Update packages.json ] jobs: build: uses: piotrpress/github-composer/.github/workflows/build.yml@master secrets: token: ${{ secrets.token }} with: owner: ${{ vars.owner }}
注意:通过使用 workflow_dispatch
事件,此工作流还可以手动触发。
更新
将以下内容的 .github/workflows/update.yml
文件添加到 GitHub 仓库,该仓库配置为在每次推送后触发对包列表的更新。
name: Update packages.json on: workflow_dispatch: push: jobs: update: uses: piotrpress/github-composer/.github/workflows/update.yml@master secrets: token: ${{ secrets.token }} with: owner: ${{ vars.owner }} repository: ${{ vars.repository }}
注意:通过使用 workflow_dispatch
事件,此工作流还可以手动触发。
secrets.token
- 必要性:true
,token 必须有权限 创建仓库调度事件vars.owner
- 必要性:false
,默认值:github.repository_owner
vars.repository
- 必要性:true
需求
- PHP >=
7.4
版本。 - Composer ^
2.0
版本。