Skip to content

Implement XQuery 4.0 record type support #5781

Implement XQuery 4.0 record type support

Implement XQuery 4.0 record type support #5781

Workflow file for this run

name: XQTS
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
jobs:
xqts:
name: W3C XQuery Test Suite
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v6
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: liberica
java-version: '21'
- uses: ./.github/actions/maven-cache
- uses: ./.github/actions/maven-github-settings
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Maven XQTS Build
timeout-minutes: 25
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn -V -B --no-transfer-progress clean package -DskipTests -Ddependency-check.skip=true --projects exist-xqts --also-make
- name: Run XQTS
timeout-minutes: 60
env:
JAVA_OPTS: -XX:+UseZGC -Xmx6g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -XX:+ExitOnOutOfMemoryError
run: find exist-xqts/target -name exist-xqts-runner.sh -exec {} --xqts-version HEAD --output-dir /tmp/xqts-output --exclude-test-case RangeExpr-411d,RangeExpr-409d,RangeExpr-408d,RangeExpr-409c,RangeExpr-408c,GenCompEq-21 \;
- name: Check for HeapDump
id: check_heapdump
uses: andstor/file-existence-action@v3
with:
files: "/tmp/*.hprof"
- name: Compress HeapDump
if: steps.check_heapdump.outputs.files_exists == 'true'
run: zstd --rm -9 --progress -T0 /tmp/*.hprof
- name: Attach HeapDump artifact
if: steps.check_heapdump.outputs.files_exists == 'true'
uses: actions/upload-artifact@v7
with:
name: exist-xqts-runner-hprof
retention-days: 1
path: /tmp/*.hprof.zst
- name: Find Latest Successful XQTS Run on Develop
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RUN_ID=$(gh run list \
--repo eXist-db/exist \
--workflow ci-xqts.yml \
--branch develop \
--status success \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId')
if [ -z "$RUN_ID" ] || [ "$RUN_ID" = "null" ]; then
echo "::error::Could not find a previous successful XQTS run on develop"
exit 1
fi
echo "Found develop run: ${RUN_ID}"
echo "$RUN_ID" > /tmp/previous_run_id.txt
- name: Download Previous XQTS Logs
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh run download \
--repo eXist-db/exist \
"$(cat /tmp/previous_run_id.txt)" \
--name xqts-logs \
--dir /tmp/previous-xqts-output
- name: Compare Previous and Current XQTS Logs
run: |
java \
-jar ~/.m2/repository/net/sf/saxon/Saxon-HE/9.9.1-8/Saxon-HE-9.9.1-8.jar \
-xsl:exist-xqts/src/main/xslt/compare-results.xslt \
-it:compare-results \
-o:/tmp/comparison-results.xml \
xqts.previous.junit-data-path=/tmp/previous-xqts-output/junit/data \
xqts.current.junit-data-path=/tmp/xqts-output/junit/data
- name: Show Comparison Results
run: cat /tmp/comparison-results.xml
- name: Archive XQTS Logs
if: always()
uses: actions/upload-artifact@v7
with:
name: xqts-logs
retention-days: 14
path: /tmp/xqts-output