From d176722f49f8cc8ddc8bf5793c8d46a4749b1298 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:28:10 +0000 Subject: [PATCH 01/17] Update test.txt --- test.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test.txt b/test.txt index 5b849a1..bb7bda0 100644 --- a/test.txt +++ b/test.txt @@ -1,2 +1,3 @@ hello world changes in prep for v1.43 +changes made in feature/based-on-vnext/1.43 From 20695ca80ec53e2743c8f6da8d05ca3b2d00d280 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:29:00 +0000 Subject: [PATCH 02/17] Update blank.yml --- .github/workflows/blank.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index c1effa2..6b96ecf 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -5,6 +5,8 @@ on: types: - opened - synchronize + branches: + - 'vnext/*' jobs: check-branch-origin: @@ -14,13 +16,16 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: git fetch + run: git fetch + - name: Get common ancestor commit id: merge-base - run: echo "::set-output name=commit::$(git merge-base ${{ github.base_ref }} ${{ github.head_ref }})" + run: echo "COMMIT_HASH=$(git merge-base origin/${{ github.base_ref }} origin/${{ github.head_ref }})" >> $GITHUB_ENV - name: Verify branch origin run: | - common_ancestor_commit="${{ steps.merge-base.outputs.commit }}" + common_ancestor_commit="$COMMIT_HASH" first_commit_in_feature_branch=$(git rev-list --max-parents=0 HEAD) if [ "$common_ancestor_commit" != "$first_commit_in_feature_branch" ]; then From 3c16b6dcf84d6f2fdbfab2050e71729d4bea5a37 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:41:42 +0000 Subject: [PATCH 03/17] Update blank.yml --- .github/workflows/blank.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 6b96ecf..91e8e2b 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -18,6 +18,15 @@ jobs: - name: git fetch run: git fetch + + - name: Get common ancestor commit 1 + id: merge-base2 + run: git show-branch -a \ + | sed "s/].*//" \ + | grep "\*" \ + | grep -v "$(git rev-parse --abbrev-ref HEAD)" \ + | head -n1 \ + | sed "s/^.*\[//" - name: Get common ancestor commit id: merge-base From 50513af80807f846119c346bb77798f474be027d Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:42:46 +0000 Subject: [PATCH 04/17] Update blank.yml --- .github/workflows/blank.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 91e8e2b..15ae980 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -21,12 +21,7 @@ jobs: - name: Get common ancestor commit 1 id: merge-base2 - run: git show-branch -a \ - | sed "s/].*//" \ - | grep "\*" \ - | grep -v "$(git rev-parse --abbrev-ref HEAD)" \ - | head -n1 \ - | sed "s/^.*\[//" + run: git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//" - name: Get common ancestor commit id: merge-base From 7d1e2c176206a2f244ca2b8b1a40753303e40262 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:44:59 +0000 Subject: [PATCH 05/17] Update blank.yml --- .github/workflows/blank.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 15ae980..786bf0e 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -21,13 +21,14 @@ jobs: - name: Get common ancestor commit 1 id: merge-base2 - run: git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//" + run: echo TEST=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//") - name: Get common ancestor commit id: merge-base run: echo "COMMIT_HASH=$(git merge-base origin/${{ github.base_ref }} origin/${{ github.head_ref }})" >> $GITHUB_ENV - name: Verify branch origin + if: false run: | common_ancestor_commit="$COMMIT_HASH" first_commit_in_feature_branch=$(git rev-list --max-parents=0 HEAD) From b7f0b9aae3dab1264b74707f73bd48334fc7c35d Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:45:55 +0000 Subject: [PATCH 06/17] Update blank.yml --- .github/workflows/blank.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 786bf0e..ff927c7 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -21,14 +21,13 @@ jobs: - name: Get common ancestor commit 1 id: merge-base2 - run: echo TEST=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//") + run: echo 'TEST=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//")' >> $GITHUB_ENV - name: Get common ancestor commit id: merge-base run: echo "COMMIT_HASH=$(git merge-base origin/${{ github.base_ref }} origin/${{ github.head_ref }})" >> $GITHUB_ENV - name: Verify branch origin - if: false run: | common_ancestor_commit="$COMMIT_HASH" first_commit_in_feature_branch=$(git rev-list --max-parents=0 HEAD) From fee8b983cfb6cfbed9028c38ad114b77b03984d5 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:47:31 +0000 Subject: [PATCH 07/17] Update blank.yml --- .github/workflows/blank.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index ff927c7..d1ade27 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -21,7 +21,7 @@ jobs: - name: Get common ancestor commit 1 id: merge-base2 - run: echo 'TEST=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//")' >> $GITHUB_ENV + run: echo "TEST=$(git show-branch -a | sed \"s/].*//\" | grep \"\*\" | grep -v \"$(git rev-parse --abbrev-ref HEAD)\" | head -n1 | sed \"s/^.*\[//\")" >> $GITHUB_ENV - name: Get common ancestor commit id: merge-base From 81be9a09fd205bd7133cbb72ea3328a61d1ad84a Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:50:01 +0000 Subject: [PATCH 08/17] Update blank.yml --- .github/workflows/blank.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index d1ade27..19db84a 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -11,6 +11,8 @@ on: jobs: check-branch-origin: runs-on: ubuntu-latest + env: + MY_COMMAND: 'git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"' steps: - name: Checkout code @@ -18,11 +20,13 @@ jobs: - name: git fetch run: git fetch - - - name: Get common ancestor commit 1 - id: merge-base2 - run: echo "TEST=$(git show-branch -a | sed \"s/].*//\" | grep \"\*\" | grep -v \"$(git rev-parse --abbrev-ref HEAD)\" | head -n1 | sed \"s/^.*\[//\")" >> $GITHUB_ENV + - name: Set Environment Variable + run: echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV + + - name: Echo Command + run: echo "My Git command is: $MY_COMMAND" + - name: Get common ancestor commit id: merge-base run: echo "COMMIT_HASH=$(git merge-base origin/${{ github.base_ref }} origin/${{ github.head_ref }})" >> $GITHUB_ENV From bfa14d34543a0f3adff39f613e513d9a9b983a45 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:50:32 +0000 Subject: [PATCH 09/17] Update blank.yml --- .github/workflows/blank.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 19db84a..fa3ecbf 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -25,7 +25,7 @@ jobs: run: echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV - name: Echo Command - run: echo "My Git command is: $MY_COMMAND" + run: echo "$MY_COMMAND" - name: Get common ancestor commit id: merge-base From 76dff7c12431f274b1750f0bd9da7d5b336d1e52 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:51:35 +0000 Subject: [PATCH 10/17] Update blank.yml --- .github/workflows/blank.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index fa3ecbf..1271577 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -22,10 +22,10 @@ jobs: run: git fetch - name: Set Environment Variable - run: echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV + run: echo "TEST=$MY_COMMAND" >> $GITHUB_ENV - name: Echo Command - run: echo "$MY_COMMAND" + run: echo "$TEST" - name: Get common ancestor commit id: merge-base From 5f15fccd43f14a0bfc5b83fc900865d62e8a4e86 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:54:00 +0000 Subject: [PATCH 11/17] Update blank.yml --- .github/workflows/blank.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 1271577..0b3e6ff 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -11,8 +11,7 @@ on: jobs: check-branch-origin: runs-on: ubuntu-latest - env: - MY_COMMAND: 'git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"' + steps: - name: Checkout code @@ -21,11 +20,14 @@ jobs: - name: git fetch run: git fetch - - name: Set Environment Variable - run: echo "TEST=$MY_COMMAND" >> $GITHUB_ENV + - name: Run Git Command + id: git_output + run: | + MY_COMMAND=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//") + echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV - name: Echo Command - run: echo "$TEST" + run: echo "My Git command is $MY_COMMAND" - name: Get common ancestor commit id: merge-base From b93f1ffa33b97f3354d202db9d23576ecbef3a34 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 18:56:12 +0000 Subject: [PATCH 12/17] Update blank.yml --- .github/workflows/blank.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 0b3e6ff..10386da 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -23,7 +23,7 @@ jobs: - name: Run Git Command id: git_output run: | - MY_COMMAND=$(git show-branch -a | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//") + MY_COMMAND=$(git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//') echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV - name: Echo Command From 0c26b82714caa7ac2c73adabd62c2ee9434dff79 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 19:03:34 +0000 Subject: [PATCH 13/17] Update blank.yml --- .github/workflows/blank.yml | 50 +++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 10386da..470c5b6 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -1,44 +1,40 @@ -name: Check Feature Branch Origin +name: Check Commits on: pull_request: types: - opened - synchronize - branches: - - 'vnext/*' jobs: - check-branch-origin: + check-commits: runs-on: ubuntu-latest - steps: - name: Checkout code uses: actions/checkout@v2 - - name: git fetch - run: git fetch - - - name: Run Git Command - id: git_output + - name: Get list of vnext branches + id: get-branches run: | - MY_COMMAND=$(git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//') - echo "MY_COMMAND=$MY_COMMAND" >> $GITHUB_ENV + branches=$(git branch -r | grep 'origin/vnext/*' | sed 's/origin\///') + echo "::set-output name=branches::$branches" - - name: Echo Command - run: echo "My Git command is $MY_COMMAND" - - - name: Get common ancestor commit - id: merge-base - run: echo "COMMIT_HASH=$(git merge-base origin/${{ github.base_ref }} origin/${{ github.head_ref }})" >> $GITHUB_ENV - - - name: Verify branch origin + - name: Check commit hashes + id: check-commits run: | - common_ancestor_commit="$COMMIT_HASH" - first_commit_in_feature_branch=$(git rev-list --max-parents=0 HEAD) - - if [ "$common_ancestor_commit" != "$first_commit_in_feature_branch" ]; then - echo "Error: Feature branch was not created from master." - exit 1 - fi + branches="${{ steps.get-branches.outputs.branches }}" + commit_hashes=$(git log --pretty=format:"%H" ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) + for hash in $commit_hashes; do + for branch in $branches; do + if git merge-base --is-ancestor $hash origin/$branch; then + echo "Error: Commit hash $hash found in branch $branch" + exit 1 + fi + done + done + echo "All commit hashes are valid." + + - name: Echo success message + if: steps.check-commits.outcome == 'success' + run: echo "Workflow completed successfully." From 53fd917bff53027cd97af91000dcb3ab06c69319 Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 19:04:31 +0000 Subject: [PATCH 14/17] Update blank.yml --- .github/workflows/blank.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 470c5b6..86e7864 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -14,6 +14,9 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: fetch + run: git fetch + - name: Get list of vnext branches id: get-branches run: | From 32f89cd520d4138176d200f0e49f54bdb2e3af9a Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 19:07:52 +0000 Subject: [PATCH 15/17] Update blank.yml --- .github/workflows/blank.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 86e7864..0bfbab8 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -5,6 +5,8 @@ on: types: - opened - synchronize + branches: + - develop jobs: check-commits: From 6171f8bf3aade23fd11c6d10f851cd751de6cb7e Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 19:09:21 +0000 Subject: [PATCH 16/17] Update blank.yml --- .github/workflows/blank.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 0bfbab8..859ffd0 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -32,6 +32,7 @@ jobs: commit_hashes=$(git log --pretty=format:"%H" ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) for hash in $commit_hashes; do for branch in $branches; do + echo "Checking: $hash in $branch" if git merge-base --is-ancestor $hash origin/$branch; then echo "Error: Commit hash $hash found in branch $branch" exit 1 From 68af9e00caeee1776607101913d504af1ef734dc Mon Sep 17 00:00:00 2001 From: Luke Skinner Date: Wed, 7 Feb 2024 19:15:31 +0000 Subject: [PATCH 17/17] Update blank.yml --- .github/workflows/blank.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 859ffd0..7f4ce2d 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -29,7 +29,7 @@ jobs: id: check-commits run: | branches="${{ steps.get-branches.outputs.branches }}" - commit_hashes=$(git log --pretty=format:"%H" ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) + commit_hashes=$(git log --pretty=format:"%H" ${{ github.event.pull_request.base.sha }}^..${{ github.event.pull_request.head.sha }}) for hash in $commit_hashes; do for branch in $branches; do echo "Checking: $hash in $branch"