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
Update versions of all the things used in tests #2242
Conversation
5dc39bb
to
9748268
Compare
ecb17f4
to
2214e2e
Compare
Is there anything I can do to help? I need iOS support for RN 0.58.x. |
Any status update on this PR? |
189d049
to
1943428
Compare
Any update on this PR? Any way I can help? |
Left is just to review. |
response.body.pipe(file).once('finish', () => file.close(resolve)); | ||
}).then(() => fs.utimes(destination, lastModified, lastModified)); | ||
} | ||
}).catch(() => saveFile(response)); |
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.
Why are we saving the file in case of an error?
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.
This will hide the error, is that on purpose? I would console.error
it at the least.
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.
fs.stat() throws if the file does not exist or if the user doesn't have permission to access it. The former case isn't an error and we just want to download the file, and in the latter case saveFile will throw an error anyway.
examples/ReactExample/package.json
Outdated
"babel-jest": "18.0.0", | ||
"babel-preset-react-native": "4.0.0", | ||
"eslint": "^3.0.0", | ||
"install-local": "^0.6.2", |
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.
Looks like 1.0.0 shipped 8 days ago.
As this is an example I feel it's a little misleading to install Realm JS using this package. People might be looking at it as a reference on how to install Realm JS and get confused. The integration test I just merged had the same issue and I solved it by packing Realm JS and installing it from the package install script like so: https://github.com/realm/realm-js/blob/master/integration-tests/environments/react-native/package.json#L10 .. I don't know if that will be less confusing - but I wanted to mention an alternative.
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.
Manually acquiring a tarball and calling npm install on that is significantly more dissimilar to how end users should install realm than this is. The point of using install-local is that it makes it almost identical to a normal dependency other than that it's in a separate section in package.json.
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.
There is also a case to be made that this will actually not be using the .tgz that will eventually ship to users and instead it will package its own. Installing from the .tgz will catch more errors from potential issues with the way we might choose to package the archive.
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.
install-local just calls npm pack
and installs from that.
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.
The reason we’ve had issues with regressions not being caught by tests in the past isn’t due to minor details around how realm is installed in tests: it’s because the node release is built from realm-js-private with a different build system and some important code differences, and while rjp has stuff set up to run the public tests against that module, it’s been broken for years. Assembling a tarball from this repo and installing from that isn’t any closer to testing the thing that users will actually install than anything else these tests have been doing.
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.
Building from the package that we've already build at this point might speed up installing this app. I don't have a strong opinion here, thus it's not a blocker from my perspective - just wanted to share my thoughts.
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.
Great work - much appreciated!
I need to go through it once more.
Jenkinsfile
Outdated
|
||
def packageNpmArchive() { | ||
return { | ||
node('docker') { |
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.
Adding && !aws
has been a help in the past.
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.
I don't think that will do much, we have just a single node with that label https://ci.realm.io/label/aws/
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.
It looks like some aws
nodes are spawned from time to time (probably part of our cloud infrastructure).
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.
yeah, Jenkins autoscales a set of slaves using spot instances.
getContext() is not visible in extensions.js so _createUserAgentDescription() would always just throw an exception and report RealmJS/Unknown.
@kneth when can we expect these changes to be released to NPM? |
@HarikaSabbella When we are done with the review - can't really give a date sorry, but likely sometime next week hopefully. Please have patience so we get the quality right. The beauty of open source is that if you can't wait, you can grab what is here if that works for you ;-) |
@bmunkholm Waiting passionately. |
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.
Great work! 🎉
Co-Authored-By: tgoyne <tgoyne@gmail.com>
Nice! Is this going to be released today? 😆 |
Brilliant!
On Tue, 26 Feb 2019 at 19:58, Diego Mello ***@***.***> wrote:
Nice! Is this going to be released today? 😆
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2242 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AE3pnAQ55uL1HxnGy-UMH92GLRibOzQCks5vRZHtgaJpZM4aa1yj>
.
--
Joshua Kelly
*Director*
*CodeCog Pty Ltd*
m: 0408803053
w: codecog.com.au e: josh@codecog.com.au
|
@diegolmello I am not sure if we can make it today. If not, we'll get it out tomorrow. |
@diegolmello I did have some time to get it released 😄 |
@kneth Hahahahaha. Great work, man. I'll try it later today. Thanks! 👊👊👊 |
You can no longer build modules for node 6 on macOS 10.14, so we need to upgrade to a newer version. Unsurprisingly this then has cascading effects where everything else needs to be upgraded too.
An overview of the things changed here:
install-local
is used to mimick the pre-npm5 behavior when installing modules from filepaths where needed (i.e. where symlinking in the realm module breaks things).