From d8851806b7f748b5e03448fad4561df234dc653c Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 16 Sep 2024 23:12:26 +0300 Subject: [PATCH] Try to use a composite action to reduce duplication --- .../check-submodule-reference/action.yml | 25 +++++++++++ .github/workflows/build_and_test.yml | 45 ++++++++----------- 2 files changed, 43 insertions(+), 27 deletions(-) create mode 100644 .github/actions/check-submodule-reference/action.yml diff --git a/.github/actions/check-submodule-reference/action.yml b/.github/actions/check-submodule-reference/action.yml new file mode 100644 index 0000000000..fd3b18f4bb --- /dev/null +++ b/.github/actions/check-submodule-reference/action.yml @@ -0,0 +1,25 @@ +name: "Check submodule reference" +description: "Check that submodule references a commit in a submodule repository's branch" + +inputs: + submodule_path: + description: "directory with the submodule" + required: true + branch: + description: "branch in the submodule repository" + required: true + +runs: + using: "composite" + + steps: + - name: Check ${{ inputs.submodule_path }} submodule reference + shell: bash -euxo pipefail {0} + run: | + cd ${{ inputs.submodule_path }} + git fetch origin "refs/heads/${{ inputs.branch }}:refs/heads/origin/${{ inputs.branch }}" + RC=$(git merge-base --is-ancestor origin/${{ inputs.branch }} HEAD; echo $?) + if [ "$RC" != "0" ]; then + echo "${{ inputs.submodule_path }} submodule is not an ancestor of the ${{ inputs.branch }} branch. Please rebase it" + exit 1 + fi diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 68b2e31bcf..22137937be 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -137,37 +137,28 @@ jobs: run: git submodule foreach git fetch --shallow-since='3 months' - name: Check vendor/postgres-v14 submodule reference - id: postgres-v14-submodule - run: | - cd vendor/postgres-v14 - git fetch origin "refs/heads/REL_14_STABLE_neon:refs/heads/origin/REL_14_STABLE_neon" - RC=$(git merge-base --is-ancestor origin/REL_14_STABLE_neon HEAD; echo $?) - if [ "$RC" != "0" ]; then - echo "vendor/postgres-v14 submodule is not an ancestor of the REL_14_STABLE_neon branch. Please rebase it" - exit 1 - fi + uses: ./.github/actions/check-submodule-reference + with: + submodule_path: vendor/postgres-v14 + branch: REL_14_STABLE_neon - name: Check vendor/postgres-v15 submodule reference - id: postgres-v15-submodule - run: | - cd vendor/postgres-v15 - git fetch origin "refs/heads/REL_14_STABLE_neon:refs/heads/origin/REL_14_STABLE_neon" - RC=$(git merge-base --is-ancestor origin/REL_14_STABLE_neon HEAD; echo $?) - if [ "$RC" != "0" ]; then - echo "vendor/postgres-v15 submodule is not an ancestor of the REL_14_STABLE_neon branch. Please rebase it" - exit 1 - fi + uses: ./.github/actions/check-submodule-reference + with: + submodule_path: vendor/postgres-v15 + branch: REL_15_STABLE_neon - name: Check vendor/postgres-v16 submodule reference - id: postgres-v16-submodule - run: | - cd vendor/postgres-v16 - git fetch origin "refs/heads/REL_14_STABLE_neon:refs/heads/origin/REL_14_STABLE_neon" - RC=$(git merge-base --is-ancestor origin/REL_14_STABLE_neon HEAD; echo $?) - if [ "$RC" != "0" ]; then - echo "vendor/postgres-v16 submodule is not an ancestor of the REL_14_STABLE_neon branch. Please rebase it" - exit 1 - fi + uses: ./.github/actions/check-submodule-reference + with: + submodule_path: vendor/postgres-v16 + branch: REL_16_STABLE_neon + + - name: Check vendor/postgres-v17 submodule reference + uses: ./.github/actions/check-submodule-reference + with: + submodule_path: vendor/postgres-v17 + branch: REL_17_STABLE_neon check-codestyle-rust: needs: [ check-permissions, build-build-tools-image ]