Compare commits

...

4 Commits

Author SHA1 Message Date
Alexander Bayandin
68279db913 Fix create-test-report for skipped regression tests 2023-12-16 11:23:20 +00:00
Alexander Bayandin
13d21ba8c2 Fix regression tests trigger 2023-12-16 11:21:25 +00:00
Alexander Bayandin
3b1b116521 Fix IMAGE_TAG calculation 2023-12-16 11:04:48 +00:00
Alexander Bayandin
183ab90b0f CI: run check-if-build-tools-dockerfile-changed only on PRs 2023-12-16 10:58:25 +00:00
2 changed files with 37 additions and 23 deletions

View File

@@ -186,6 +186,10 @@ runs:
COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
REPORT_JSON_URL: ${{ steps.generate-report.outputs.report-json-url }}
run: |
if [ ! -f "${WORKDIR}/report/data/suites.json" ]; then
exit 0
fi
export DATABASE_URL=${REGRESS_TEST_RESULT_CONNSTR}
./scripts/pysync

View File

@@ -44,8 +44,30 @@ jobs:
exit 1
tag:
check-if-build-tools-dockerfile-changed:
if: github.event_name == 'pull_request'
needs: [ check-permissions ]
runs-on: ubuntu-latest
outputs:
docker_file_changed: ${{ steps.dockerfile.outputs.docker_file_changed }}
steps:
- name: Check if Dockerfile.buildtools has changed
id: dockerfile
run: |
updated_files=$(gh pr --repo neondatabase/neon diff ${{ github.event.pull_request.number }} --name-only)
if [[ $updated_files == *"Dockerfile.buildtools"* ]]; then
DOCKER_FILE_CHANGED=true
else
DOCKER_FILE_CHANGED=false
fi
echo "docker_file_changed=${DOCKER_FILE_CHANGED}" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag:
if: always() && contains(fromJSON('["success", "skipped"]'), needs.check-if-build-tools-dockerfile-changed.result)
needs: [ check-permissions, check-if-build-tools-dockerfile-changed ]
runs-on: [ self-hosted, gen3, small ]
container: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/base:pinned
outputs:
@@ -76,32 +98,16 @@ jobs:
- name: Get buildtools tag
run: |
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]] && [[ "${{ needs.check-if-build-tools-dockerfile-changed.outputs.docker_file_changed }}" == "true" ]]; then
IMAGE_TAG=$GITHUB_RUN_ID
else
IMAGE_TAG=pinned
fi
echo "image_tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
shell: bash
id: buildtools-tag
check-if-build-tools-dockerfile-changed:
needs: [ check-permissions ]
runs-on: ubuntu-latest
outputs:
docker_file_changed: ${{ steps.dockerfile.outputs.docker_file_changed }}
steps:
- name: Check if Dockerfile.buildtools has changed
id: dockerfile
run: |
updated_files=$(gh pr --repo neondatabase/neon diff ${{ github.event.pull_request.number }} --name-only)
if [[ $updated_files == *"Dockerfile.buildtools"* ]]; then
echo "docker_file_changed=true" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-buildtools-image:
needs: [ check-permissions, check-if-build-tools-dockerfile-changed, tag]
uses: ./.github/workflows/build_and_push_docker_image.yml
@@ -449,7 +455,8 @@ jobs:
uses: ./.github/actions/save-coverage-data
regress-tests:
needs: [ check-permissions, build-neon, tag ]
if: always() && contains(fromJSON('["success", "skipped"]'), needs.build-buildtools-image.result)
needs: [ check-permissions, build-neon, build-buildtools-image, tag ]
runs-on: [ self-hosted, gen3, large ]
container:
image: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/build-tools:${{ needs.tag.outputs.build-tools-tag }}
@@ -488,13 +495,15 @@ jobs:
uses: ./.github/actions/save-coverage-data
benchmarks:
needs: [ check-permissions, build-neon, tag]
needs: [ check-permissions, build-neon, build-buildtools-image, tag]
runs-on: [ self-hosted, gen3, small ]
container:
image: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/build-tools:${{ needs.tag.outputs.build-tools-tag }}
# Default shared memory is 64mb
options: --init --shm-size=512mb
if: github.ref_name == 'main' || contains(github.event.pull_request.labels.*.name, 'run-benchmarks')
if: |
always() && contains(fromJSON('["success", "skipped"]'), needs.build-buildtools-image.result) &&
(github.ref_name == 'main' || contains(github.event.pull_request.labels.*.name, 'run-benchmarks'))
strategy:
fail-fast: false
matrix:
@@ -567,7 +576,8 @@ jobs:
})
coverage-report:
needs: [ check-permissions, regress-tests, tag ]
if: always() && contains(fromJSON('["success", "skipped"]'), needs.build-buildtools-image.result)
needs: [ check-permissions, regress-tests, build-buildtools-image, tag ]
runs-on: [ self-hosted, gen3, small ]
container:
image: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/build-tools:${{ needs.tag.outputs.build-tools-tag }}