tomzx/php-semver-checker-git

PHP语义化版本检查器for GIT

v0.8.1 2021-12-31 04:11 UTC

README

License Latest Stable Version Latest Unstable Version Build Status Code Coverage Total Downloads

PHP语义化版本检查器for git 是一个控制台/库,允许您使用GIT检查一组源代码的“之前”和“之后”。

命令行实用程序将使用现有的 git 仓库来比较更改集,使用任何 git checkout 可接受的(sha1,分支,标记)。它将以 detached 模式检出,以避免污染您的分支列表。

注意 强烈建议您不要在不想丢失的任何存储库上直接运行此程序。请先备份它,然后在该副本上运行 php-semver-checker-git

入门

由于这仍然是一个alpha包,不建议直接将其包含在您的composer.json中。但是,有几种方法可以使用此工具

  1. 推荐方法 下载最新的 .phar构建。请注意,.phar构建通常不如以下方法前沿。
  2. php composer.phar create-project tomzx/php-semver-checker-git --stability=dev 将在您的当前工作目录中克隆一个新的php-semver-checker-git文件夹
  3. git clone https://github.com/tomzx/php-semver-checker-git.git 并在新建的目录中运行 php composer.phar install

请参阅示例部分以了解如何使用此工具的示例。

构建 php-semver-checker-git.phar

首先,确保您已安装 box。然后,在基本目录中,您可以运行以下命令,这将生成 php-semver-checker-git.phar 文件。

box build

使用 php-semver-checker-gitGitHub actions

php-semver-checker-git 添加到您的构建过程非常简单,并且可以在 GitHub actions 日志中获取一个很好的报告。在 .github/workflows/ 目录下的文件中,添加以下内容

name: Continuous integration

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        fetch-depth: 0

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
          php-version: ${{ matrix.php }}
          tools: composer:v2
          coverage: xdebug

    # Your own CI configuration goes here

    - name: Evaluate semantic versioning
      run: |
        wget https://psvcg.coreteks.org/php-semver-checker-git.phar
        php php-semver-checker-git.phar suggest -vvv --include-before=src --include-after=src --details --allow-detached

为了简化上述对 php-semver-checker-git 的调用,我们建议您在项目的根目录中创建一个 php-semver-checker-git.yml 配置文件。在其中,您可以放置以下内容

allow-detached: true
details: true
include-before: src
include-after: src

使用此配置文件,您可以更新之前创建的配置文件

之前

  # Your own CI configuration goes here

    - name: Evaluate semantic versioning
      run: |
        wget https://psvcg.coreteks.org/php-semver-checker-git.phar
        php php-semver-checker-git.phar suggest -vvv --include-before=src --include-after=src --details --allow-detached

之后

  # Your own CI configuration goes here

    - name: Evaluate semantic versioning
      run: |
        wget https://psvcg.coreteks.org/php-semver-checker-git.phar
        php php-semver-checker-git.phar suggest -vvv

示例

比较两个提交(没有语义化版本)

# arguments are: before-commit/branch/tag after-commit/branch/tag
php bin/php-semver-checker-git compare v1.6.4 v2.0.0 --include-before=src --include-after=src

将HEAD与您的最新语义化版本标记进行比较

php bin/php-semver-checker-git suggest --allow-detached --include-before=src --include-after=src

注意:--allow-detached 在您在 GitHub actions 或任何其他持续集成服务上运行此命令时非常有用。当在特定提交上执行检出时,这使得 HEAD 成为 detached。如果不传递此选项,则命令将终止。这是因为在 suggest 命令完成后,不可能恢复原始 detached 分支。

将HEAD与特定标签约束进行比较

php bin/php-semver-checker-git suggest --allow-detached --include-before=src --include-after=src  --tag=~5.0

注意:--tag 支持任何语义化版本约束,如 <<=>=,'>',~x.y.z^x.y.z x.y.*

许可

代码遵循 MIT许可。请参阅 LICENSE