Create Release Commit #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Release Commit | |
# 手動実行 | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
type: string | |
description: 'リリースするバージョン (例: 0.6.0, v はつけない)' | |
required: true | |
default: '' | |
# ジョブの定義 | |
jobs: | |
# リリースコミットの作成 | |
create_release_commit: | |
runs-on: ubuntu-22.04 | |
steps: | |
# KonomiTV のソースコードをチェックアウト | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GIT_PUSH_TOKEN }} | |
# Node.js 18 環境をセットアップ | |
- name: Setup Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'yarn' | |
cache-dependency-path: '${{ github.workspace }}/client/yarn.lock' | |
# リリースコミットを作成 | |
- name: Create Release Commit | |
run: | | |
git config user.name 'github-actions[bot]' | |
git config user.email 'github-actions[bot]@users.noreply.github.com' | |
git switch master | |
# ソースコードやドキュメント内のバージョンを更新 | |
sed -i -e 's|"version": ".*",|"version": "${{ github.event.inputs.version }}",|' client/package.json | |
sed -i -e 's|version = ".*"|version = "${{ github.event.inputs.version }}"|' installer/pyproject.toml | |
sed -i -e "s|TARGET_VERSION = '.*'|TARGET_VERSION = '${{ github.event.inputs.version }}'|" installer/KonomiTV-Installer.py | |
sed -i -e 's|version = ".*"|version = "${{ github.event.inputs.version }}"|' server/pyproject.toml | |
sed -i -e "s|VERSION = '.*'|VERSION = '${{ github.event.inputs.version }}'|" server/app/constants.py | |
sed -i -e 's|download/v.*/thirdparty-linux\.tar\.xz|download/v${{ github.event.inputs.version }}/thirdparty-linux\.tar\.xz|' Dockerfile | |
sed -i -e 's|download/v.*/KonomiTV-Installer\.elf|download/v${{ github.event.inputs.version }}/KonomiTV-Installer\.elf|' Readme.md | |
# クライアントをビルド | |
cd client/ | |
yarn install --frozen-lockfile | |
yarn build | |
cd ../ | |
# リリースコミットを作成 | |
git add . | |
git commit -m 'Release: version ${{ github.event.inputs.version }}' | |
git push -u origin master | |
# release ブランチを現在の master ブランチの最新コミット (リリースコミット) に更新する | |
## release ブランチはリリースしたときのみ更新される | |
- name: Update Release Branch | |
run: | | |
git switch release | |
git merge master | |
git push -u origin release |