Skip to content

Commit

Permalink
ci: test with ArangoDB 3.12
Browse files Browse the repository at this point in the history
There is a breaking change in ArangoDB 3.12 that the default locale changes
from en_US to en_US_POSIX. cruddl has some logic that relies on the order
of values according to the non-POSIX locale. Therefore, we need to set it
using LOCALE in the tests.

Consider this:

    for a in ["Scal", "PART", "part"] sort a return a

cruddl assumes it to be

    [
      "PART",
      "part",
      "Scal"
    ]

but in 3.12 without locale set (so en_US_POSIX) is used, it would be:

    [
      "PART",
      "Scal",
      "part"
    ]
  • Loading branch information
Yogu committed May 13, 2024
1 parent 86ce3ca commit 62b3bb5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
arango-image: ['arangodb:3.8', 'arangodb:3.9', 'arangodb:3.10', 'arangodb:3.11']
arango-image:
[
"arangodb:3.8",
"arangodb:3.9",
"arangodb:3.10",
"arangodb:3.11",
"arangodb:3.12",
]
node-version: [14.x, 16.x, 18.x]
steps:
- uses: actions/checkout@v2
Expand All @@ -14,7 +21,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- run:
docker run --name arangodb -p 127.0.0.1:8529:8529 -d -e ARANGO_NO_AUTH=1 ${{
docker run --name arangodb -p 127.0.0.1:8529:8529 -d -e ARANGO_NO_AUTH=1 -e LANG=en_US ${{
matrix.arango-image }}
- run: timeout 10 docker logs --follow arangodb || true # wait until arangodb is started
- run: curl -L http://localhost:8529/_api/version
Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,13 @@ When done, stop the instance with `npm run stop_arangodb`

cruddl currently supports the following versions of ArangoDB:

- 3.8
- 3.9
- 3.10
- 3.11
- 3.8
- 3.9
- 3.10
- 3.11
- 3.12

Starting with ArangoDB 3.12, the default locale for new databases has been changed from `en_US` to
`en_US_POSIX`. cruddl does not support `en_US_POSIX` at the moment, so you need to change the locale
to `en_US`. See
[the ArangoDB announcemenent](https://docs.arangodb.com/3.12/release-notes/version-3.12/incompatible-changes-in-3-12/#default-server-language-changed).

0 comments on commit 62b3bb5

Please sign in to comment.