From 9b1306324db6e479102827aa7d181f73766d7f01 Mon Sep 17 00:00:00 2001 From: ttozzi Date: Sat, 20 Dec 2025 18:37:09 +0900 Subject: [PATCH] Auto-update swift-syntax branch in Package.swift on release branch creation --- .github/workflows/auto_update_version.yml | 24 +++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/auto_update_version.yml b/.github/workflows/auto_update_version.yml index 5299a5f5..8be985b6 100644 --- a/.github/workflows/auto_update_version.yml +++ b/.github/workflows/auto_update_version.yml @@ -43,26 +43,38 @@ jobs: run: | git checkout -b $UPDATE_BRANCH $RELEASE_BRANCH - - name: Update PrintVersion.swift + - name: Update version and dependencies id: update_version run: | FILE=Sources/swift-format/PrintVersion.swift + CHANGED=false if grep -q "print(\"$VERSION\")" "$FILE"; then echo "Version already $VERSION; skipping update." - echo "changed=false" >> "$GITHUB_OUTPUT" - exit 0 + else + sed -i "s/print(\".*\")/print(\"$VERSION\")/" "$FILE" + CHANGED=true + fi + + if grep -q "branch: \"$RELEASE_BRANCH\"" Package.swift; then + echo "swift-syntax branch already $RELEASE_BRANCH; skipping update." + else + sed -i '/swift-syntax\.git/s|branch: ".*"|branch: "'"$RELEASE_BRANCH"'"|' Package.swift + CHANGED=true fi - sed -i "s/print(\".*\")/print(\"$VERSION\")/" "$FILE" - echo "changed=true" >> "$GITHUB_OUTPUT" + if [ "$CHANGED" = "true" ]; then + echo "changed=true" >> "$GITHUB_OUTPUT" + else + echo "changed=false" >> "$GITHUB_OUTPUT" + fi - name: Commit and push changes if: steps.update_version.outputs.changed == 'true' run: | git config user.name "swift-ci" git config user.email "swift-ci@users.noreply.github.com" - git add Sources/swift-format/PrintVersion.swift + git add -A git commit -m "Update version to $VERSION" git push origin $UPDATE_BRANCH