Skip to content

Latest commit

 

History

History
202 lines (169 loc) · 8.48 KB

README.ja.md

File metadata and controls

202 lines (169 loc) · 8.48 KB

Package Version Check Action

Build Status codecov CodeFactor License: MIT

Read this in other languages: English, 日本語.

パッケージ公開前にパッケージのバージョンをチェックする GitHub Action

Table of Contents

スクリーンショット

  1. GitHub Action 実行中

    Running

  2. package.json のバージョンを更新 (ブランチが保護されていない場合)

    Updated

インストール

プッシュ時に使用

例:.github/workflows/check_version.yml

on: push
name: Check package version
jobs:
  checkVersion:
    name: Check package version
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
        with:
          fetch-depth: 3

      # Use this GitHub Action
      - name: Check package version
        uses: technote-space/package-version-check-action@v1
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH_PREFIX: release/

リリースプロセスで使用

例:.github/workflows/release.yml

on:
  push:
    tags:
      - 'v*'
name: Publish Package
jobs:
  release:
    name: Publish Package
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master
        with:
          fetch-depth: 3

      # Use this GitHub Action
      - name: Check package version
        uses: technote-space/package-version-check-action@v1
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Install Package dependencies
        run: yarn install
      - name: Build
        run: yarn build
      - name: Publish
        uses: actions/npm@master
        env:
          NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
        with:
          args: publish

対象イベントの詳細

オプション

BRANCH_PREFIX

ブランチプリフィックス
default: ''
例:release/

COMMIT_DISABLED

コミットが無効かどうか
default: ''

COMMIT_MESSAGE

パッケージバージョン更新用コミットのメッセージ
default: 'feat: Update package version'

PACKAGE_NAME

パッケージファイル名
default: 'package.json'

PACKAGE_DIR

パッケージファイルが置かれたディレクトリ
default: ''

TEST_TAG_PREFIX

テスト用タグのプリフィックス
default: ''
例:'test/'

Action イベント詳細

対象イベント

eventName: action condition
push: * condition1
release: published condition1
release: rerequested condition1
created: * condition2

Conditions

condition1

  • tags
    • semantic versioning tag (例:v1.2.3)
  • branches
    • ${BRANCH_PREFIX}${tag}
      • tag: semantic versioning tag (例:v1.2.3)
      • 例:branch: release/v1.2.3

condition2

  • tags
    • semantic versioning tag (例:v1.2.3)

動機

package.jsonバージョンの更新を忘れると、npmパッケージの公開は失敗します。

Failed

タグのプッシュでアクションを起動していた場合、

  1. プッシュしたタグを削除
  2. package.json のバージョンを更新
  3. コミットして再度タグを付与
  4. プッシュ

を再度行う必要があり、非常に面倒です。

この GitHub Action は、タグ名に基づいてpackage.jsonのバージョンを自動的に更新します。
したがって、package.json のバージョンについて心配する必要はありません。

また、ブランチが保護されていない場合、このアクションは変更をコミットします。
ブランチが保護されている場合、このアクションは package.json のバージョンを更新するだけです。

補足

コミット

コミットは『タグ付きのデフォルトブランチ(通常はmaster)』または『${BRANCH_PREFIX}から始まるブランチ』へのプッシュ時のみ有効です。

Tags

タグ名は Semantic Versioning に従っている必要があります。

このアクションを使用しているリポジトリの例

Author

GitHub (Technote)
Blog