Skip to content

[#11891] fix(lance): retry repair-on-load metadata update on optimistic-lock conflict #2640

[#11891] fix(lance): retry repair-on-load metadata update on optimistic-lock conflict

[#11891] fix(lance): retry repair-on-load metadata update on optimistic-lock conflict #2640

Workflow file for this run

name: IdP Basic Test
on:
push:
branches: ["main", "branch-*"]
pull_request:
branches: ["main", "branch-*"]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d
id: filter
with:
filters: |
source_changes:
- plugins/idp-basic/**
- clients/client-java/**
- clients/client-java-runtime/**
- integration-test-common/**
- core/**
- gradle/**
- gradlew
- dev/**
- build.gradle.kts
- gradle.properties
- settings.gradle.kts
- .github/workflows/idp-basic-test.yml
- name: Detect idp-basic module
id: module
run: |
if [ -f plugins/idp-basic/build.gradle.kts ]; then
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
fi
outputs:
source_changes: ${{ steps.filter.outputs.source_changes }}
module_exists: ${{ steps.module.outputs.exists }}
idp-basic-test:
needs: changes
if: needs.changes.outputs.source_changes == 'true' && needs.changes.outputs.module_exists == 'true'
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
cache: "gradle"
- name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Check required command
run: |
dev/ci/check_commands.sh
- name: Package Gravitino
run: |
./gradlew compileDistribution -PskipWeb=true -x test
- name: Free up disk space
run: |
dev/ci/util_free_space.sh
- name: Run idp-basic tests
id: idpBasicTest
env:
dockerTest: true
GRAVITINO_INITIAL_ADMIN_PASSWORD: Passw0rd-For-Admin1
run: |
set -euo pipefail
# Unit and in-process tests (no Docker, no REST IT).
./gradlew :plugins:idp-basic:test -PskipITs -PskipDockerTests=true
# REST IT: embedded and deploy, each against h2 / MySQL / PostgreSQL.
for test_mode in embedded deploy; do
for backend in h2 mysql postgresql; do
./gradlew :plugins:idp-basic:test \
-PtestMode="${test_mode}" \
-PjdbcBackend="${backend}" \
-PskipDockerTests=false \
--tests "org.apache.gravitino.idp.integration.test.**"
done
done
- name: Upload idp-basic test reports
uses: actions/upload-artifact@v7
if: ${{ (failure() && steps.idpBasicTest.outcome == 'failure') || contains(github.event.pull_request.labels.*.name, 'upload log') }}
with:
name: idp-basic-test-reports
path: |
plugins/idp-basic/build/reports
plugins/idp-basic/build/test-results
distribution/package-all/logs/gravitino-server.out
distribution/package-all/logs/gravitino-server.log
distribution/package/logs/gravitino-server.out
distribution/package/logs/gravitino-server.log