🔥 不要なcss記述を削除 #46
This file contains hidden or 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: Release on Version Change | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: write # リポジトリのコンテンツに書き込み権限を与える | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: リポジトリをチェックアウト | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 # 差分を取るために1つ前のコミットも取る | |
- name: 変更されたか確認 | |
id: version_check | |
run: | | |
if git diff --name-only HEAD^ HEAD | grep -q "^package\.json$"; then | |
echo "package.json changed" | |
OLD_VERSION=$(git show HEAD^:package.json | jq -r .version) | |
NEW_VERSION=$(jq -r .version package.json) | |
echo "Old version: $OLD_VERSION" | |
echo "New version: $NEW_VERSION" | |
old="${OLD_VERSION#v}" | |
new="${NEW_VERSION#v}" | |
IFS='.' read -r -a old_parts <<< "$old" | |
IFS='.' read -r -a new_parts <<< "$new" | |
is_newer=false | |
changed_higher_digit=false | |
for i in 0 1 2; do | |
o=${old_parts[i]:-0} | |
n=${new_parts[i]:-0} | |
if (( n > o )); then | |
changed_higher_digit=true | |
is_newer=true | |
break | |
elif (( n < o )); then | |
# ダウングレードはNG | |
exit 0 | |
fi | |
done | |
# 一番下の桁だけチェック(3番目のインデックス) | |
o=${old_parts[3]:-0} | |
n=${new_parts[3]:-0} | |
if [ "$changed_higher_digit" = false ] && (( n > o )); then | |
is_newer=true | |
fi | |
echo "Debug info:" | |
echo "changed_higher_digit=$changed_higher_digit" | |
echo "is_newer=$is_newer" | |
echo "old_parts: ${old_parts[*]}" | |
echo "new_parts: ${new_parts[*]}" | |
if [ "$is_newer" = true ]; then | |
echo "version_changed=true" >> $GITHUB_OUTPUT | |
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT | |
echo "old_version=$OLD_VERSION" >> $GITHUB_OUTPUT | |
echo "changed_higher_digit=$changed_higher_digit" >> $GITHUB_OUTPUT | |
else | |
echo "No version upgrade" | |
fi | |
else | |
echo "package.json not changed" | |
fi | |
- name: 旧リリースのpre-release状態を切り替え | |
if: steps.version_check.outputs.version_changed == 'true' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
OLD_VERSION: ${{ steps.version_check.outputs.old_version }} | |
CHANGED_HIGHER_DIGIT: ${{ steps.version_check.outputs.changed_higher_digit }} | |
run: | | |
# GitHub APIで旧リリース情報取得 | |
release_info=$(curl -s \ | |
-H "Authorization: token $GITHUB_TOKEN" \ | |
"https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/$OLD_VERSION") | |
release_id=$(echo "$release_info" | jq -r '.id') | |
if [ "$release_id" != "null" ]; then | |
if [ "$CHANGED_HIGHER_DIGIT" = "true" ]; then | |
# pre-release解除 | |
pre_release=false | |
else | |
# pre-release化 | |
pre_release=true | |
fi | |
# 旧リリースをPATCH | |
curl -X PATCH \ | |
-H "Authorization: token $GITHUB_TOKEN" \ | |
-H "Content-Type: application/json" \ | |
-d "{\"prerelease\": $pre_release}" \ | |
"https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/$release_id" | |
else | |
echo "旧リリースが見つかりません。スキップ" | |
fi | |
- name: 新リリース作成(latestタグ付き) | |
if: steps.version_check.outputs.version_changed == 'true' | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ steps.version_check.outputs.new_version }} | |
name: ${{ steps.version_check.outputs.new_version }} | |
body: "" | |
draft: false | |
prerelease: false | |
files: types/JavaLibraryScript.d.ts | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |