piotrpress/github-composer

此 Composer 插件支持使用 GitHub 工作流工件作为 Composer 仓库。

安装: 60

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:composer-plugin

v2.0.0 2024-02-20 14:51 UTC

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"
    }
  ]
}

安装

  1. 将插件作为全局 Composer 要求添加
$ composer global require piotrpress/github-composer
  1. 允许插件执行
$ 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 事件,此工作流还可以手动触发。

工作流 秘密变量

  • secrets.token - 必要性:falsetoken 必须有权限 获取仓库内容
  • vars.owner - 必要性:false,默认值:github.repository_owner

更新

将以下内容的 .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 - 必要性:truetoken 必须有权限 创建仓库调度事件
  • vars.owner - 必要性:false,默认值:github.repository_owner
  • vars.repository - 必要性:true

需求

  • PHP >= 7.4 版本。
  • Composer ^2.0 版本。

许可

MIT