Skip to content

Property Repair Test #926

Property Repair Test

Property Repair Test #926

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Property Repair Test
on:
schedule:
- cron: '0 * * * *'
jobs:
prepare:
name: Prepare (Generate)
uses: ./.github/workflows/prepare.yml
property-repair:
name: Property Repair Tests
runs-on: ubuntu-latest
needs: [prepare]
timeout-minutes: 480
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-tags: true
- name: Setup build environment
uses: ./.github/actions/setup-build-env
with:
download-artifacts: 'true'
setup-docker: 'false'
- name: Cache tools
uses: actions/cache@v4
id: cache-tool
with:
path: bin
key: ${{ runner.os }}-test-tool-${{ hashFiles('**version.mk') }}
- name: Generate codes
run: make generate
- name: Build Linux binaries
run: |
TARGET_OS=linux PLATFORMS=linux/amd64 make release
- name: Build docker image
run: |
make docker.build || make docker.build
docker image ls
- name: Test integration and banyand
run: TEST_CI_OPTS="--cover --covermode atomic --coverprofile=coverage.out --label-filter property_repair -timeout=6h" make test-ci PKG=./test/property_repair/...
- if: ${{ failure() }}
run: |
ls /tmp
- name: Sanitize test name for artifact
if: ${{ failure() }}
id: sanitize-name
run: echo "sanitized=$(echo '${{ inputs.test-name }}' | sed 's/[^a-zA-Z0-9._-]/-/g')" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
if: ${{ failure() }}
name: Upload BanyanDB Data Folder
with:
name: test-data-${{ steps.sanitize-name.outputs.sanitized }}
path: "/tmp/banyandb-test-*"