From 735be651f15a11b887d5308b0d7bde1d81150e06 Mon Sep 17 00:00:00 2001 From: Luca Tumedei Date: Fri, 15 Dec 2023 17:30:12 +0100 Subject: [PATCH] build(.github) use GitHub CLI in PR flow --- .github/workflows/build-35.yml | 57 ++++++++++++++++++++++++---------- composer.json | 3 +- 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-35.yml b/.github/workflows/build-35.yml index 0f14d25ff..2d9803fc8 100644 --- a/.github/workflows/build-35.yml +++ b/.github/workflows/build-35.yml @@ -32,22 +32,45 @@ jobs: src/**/*.php includes/**/*.php tests/**/*.php - - name: Build v3.5 + - name: Transpile to v3.5 run: | vendor/bin/rector process --config=config/rector-35.php -- ${{ steps.changed-files.outputs.files }} - - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 - with: - base: "v3.5" - token: ${{ secrets.V35_BUILD_TOKEN }} - commit-message: "v3.5 automated build change" - committer: "lucatume " - branch: "v3.5-automated-build" - delete-branch: true - title: "v3.5 automated build" - body: "v3.5 automated build changes created by the v3.5 automated build workflow" - assignees: "lucatume" - add-paths: | - includes/*.php - src/*.php - tests/*.php + - name: Save changes to stash + run: | + git stash push --include-untracked -- 'src/*.php' 'includes/*.php' 'tests/*.php' + - name: Reset HEAD + run: | + git reset HEAD --hard + - name: Checkout v3.5 from origin + run: | + git fetch origin + git checkout v3.5 + git pull origin v3.5 + - name: Create auto-build branch from v3.5, push to origin + run: | + git checkout -B v3.5-auto-build-from-v4 + git push origin v3.5-auto-build-from-v4 + - name: Checkout the changed files from the HEAD branch + run: | + git checkout ${{ github.sha }} -- 'src/*.php' 'includes/*.php' 'tests/*.php' + - name: Pop changes from stash and commit them + run: | + git stash pop || true + git add -- 'src/*.php' 'includes/*.php' 'tests/*.php' + git commit -m "v3.5 auto-build from v4" + - name: Push changes to v3.5-auto-build-from-v4 + run: | + git push origin v3.5-auto-build-from-v4 + - name: Create Pull Request on v3.5 + run: | + gh pr create \ + --base v3.5 \ + --head-branch v3.5-auto-build-from-v4 \ + --draft \ + --assignee lucatume \ + --title "v4 -> v3.5 auto-build" \ + --body "v3.5 automated build changes from v4" \ + --label "auto-build" \ + --label "v3.5" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/composer.json b/composer.json index a206a7fb3..e1fcc1ab7 100644 --- a/composer.json +++ b/composer.json @@ -46,7 +46,8 @@ "phpstan/phpstan": "*", "phpstan/extension-installer": "^1.3", "phpstan/phpstan-symfony": "^1.3", - "squizlabs/php_codesniffer": "^3.7" + "squizlabs/php_codesniffer": "^3.7", + "rector/rector": "^0.18.12" }, "autoload": { "psr-4": {