Implement XQuery 4.0 record type support #5781
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |