-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the latest version of oracledb to api/package.json #19067
Conversation
🦋 Changeset detectedLatest commit: ea36f5b The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
I can't regenerate pnpm lockfile, please do this for me
Update: nevermind |
Seeks like we are still using oracledb 5.x.x, hmm so the test result is not representative... |
The node Oracledb package can't be installed under ARM platforms (eg any modern mac), so this is not something we can add to the dependencies section of the package.json file unfortunately |
The latest 6.x version of oracledb implemented a pure JS driver which I think should be out of the box compatible. I did not see any breaking changes or migration guide so I assumed they have backward compatibility.
I don't think we used any features of thick mode? Far as I know we are just using some basic CRUD and it should be fine. I just can't find a reliable way to test it. I tried to manually run the blackbox test but I see some dependencies issue:
I ran this under a codespace. Seems like the test did not see the linked workspace member somehow. |
Fantastic!! That's news to me 😄 Glad to hear that incredibly annoying requirement on native binaries that may or may not exist is a thing of the past. In that case, forget what I said before 🙂 |
Now we need to run the blackbox test...preferrably before merging the PR. |
Hmm...ORA-01002: fetch out of sequence tips (dba-oracle.com) |
https://github.com/stevefan1999-personal/directus/blob/8c23245b47394a978888e7c502630c691666c0ab/api/src/database/migrations/20210802A-replace-groups.ts#L6-L7 |
nektos/act: Run your GitHub Actions locally 🚀 Well, at least this still runs on my Github workspace, and I enabled only Oracle vendor, I'm looking forward to see it being reproduced in a short time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change LGTM, but lets see if the test will pass now (no clue why it shouldn't after this change, but oracle has surprised me in the past)
Hmm same problem again. @aidenfoxx ever seen this issue fly by before? Kinda surprised it only started throwing this after upgrading the connection library
|
I've not seen it before. Could be a race condition, if other migrations are still being brought up on the Oracle side for some reason? Only thing I can think of that would cause such a basic query to fail. 🤷 |
I wonder if the error is due to mismatched package versions, as Knex is using Ref: knex/knex#5630, knex/knex#5615 |
All cleared.
@rijkvanzanten I think it is good. Let's merge it! |
@paescuj sorry to bother but do you think we need to have a way to let PRs to test the main workflow so that they can be safely merged. I think we can limit certain action workflows to get permission from maintainers first before launching. |
Good news 😃
Since we're using
I don't think this is necessary, it's usually sufficient to run only the SQLite test in PRs. Exceptions are rare and can be handled manually 👍 |
My concern is that the upstream Knex are trying to upgrade the version to 6.1.0 (as evidenced here: knex/knex#5675). The workflow for Oracle tests seems fine, but if you look closely, test errors are deliberately ignored. From my own prediction I'd be safe to assume at least 10% of them are supposed to be failing. Still, our integration tests here at Directus shows there is no problem whatsoever (all integration tests with Oracle Driver 6.1.0 passed, with Knex version compatibility bypassed thanks to semver). |
heyyyy exciting stuff! So just to confirm, we're awaiting a new Knex release and then it's time to ship it?! ⛵ |
That would be my preferred way ⛵😃 |
@paescuj they have released 3.0.0 which included oracledb 6.1.0, mind merging this? |
Yeah, I'll look into this soon 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @stevefan1999-personal!
@paescuj much appreciated for the follow ups! |
Judging from https://github.com/directus/directus/actions/runs/5424640097/jobs/9864290720, there is only one unit test not being able to pass. Looks like we can just add it to the mix now.This is not correct and it seems like the version is still pinned to 5.I need this because trying to install NPM package from Docker image externally is very painful, here's a workaround I tried:
Clearly it is not elegant since it will bypass the
pnpm pack
:directus/Dockerfile
Lines 14 to 28 in 816f7dc
Let alone the dependencies should be frozen and never to be updated again.