Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
unknown package or version in .meteor/versions should trigger a refresh (but not otherwise cause an error) #3653
I've seen downgrading packages a quite often. The thing is it's pretty hard to debug and send you are reproducible build. Since, it works pretty well on local machine(OSX) and once we are trying to build it on a CI box or something similar package gets downgraded.
So, I got an issue from @dweldon today and let me share it with you. May be we could find an answer for this.
This is related to kadira package and this issue came from Ubuntu 14.04.1 LTS. Here's what meteor says.
meteorhacks:kadira downgraded from 2.17.5 to 2.17.0
But, there is no big changed between these two versions. Mainly, a few bug fixes. See: https://gist.github.com/arunoda/9fca292380dd576ee6f6
In kadira I don't publish
@dweldon is it possible to share the package list and versions files? That might give some hint.
Here's a build history. Nightwatch was being downgraded in runs 1 through 5. Run number 6 fixed the issue by specifying a version constraint.
Here's the log file of build 5, just before the fix was put into place.
Here's the source code as of build #5.
# clone the repository git clone https://github.com/awatson1978/minimongo-table cd minimongo-table # remove the existing git repository rm -rf .git # add to your own repository, so you can attach it to your own travis account git init . git add --all . git commit -a -m 'initial commit' git remote add origin http://github.com/myaccount/minimongo-table.git git push origin master # connect repository to travis to deploy
Once everything is deploying, the fix is simply to add the version constraint.
Okay. I've a reproducible repo here. Yeah!
This is how to reproduce it.
You'll get this message:
=> Started proxy. => Started MongoDB. Changes to your project's package version selections: meteorhacks:kadira downgraded from 2.17.5 to 2.17.0 => Started your app. => App running at: http://localhost:3000/
... and now it stopped happening, after it happening repeatedly a few times. This is definitely bizarre and a bug.
The only thing I can imagine is, maybe my local DB did not know about 2.17.5 at the time it did the original run? And this is basically a side effect of fixing #2846. I think it's definitely the case that if an unknown version is mentioned in .meteor/packages, we don't consider this a hard "we refuse to let anything work" error. But maybe it should cue a refresh and maybe it doesn't.
But surely I have synced my local DB in the past few days since you published 2.17.5?
OK, I'm mostly focused on Mongo today, but I think the proper fix is, in
Where this function is defined as: if
Oh, probably "these things were unknown in .meteor/versions, even after refreshing, so we ignored them" or "these things were unknown in .meteor/versions, so we ignored them (without refreshing because catalog.official.offline)" should be things we can tell the PackageMapDelta constructor when you call it and which are printed by displayOnConsole.
I mean, to be honest though: If your project depends on a minimum version of a (non-core) package, it should include that in
The semantics are:
But if something really matters, it should be in the rules, not in the suggestions.
BTW, to whoever works on fixing this issue: another possibility is that we could just consider "something unknown in
The downside here is that now users need to be told to go in and manually edit this file and... do what? delete a line and hope for the best?
referenced this issue
Feb 6, 2015
added a commit
Feb 9, 2015
I'm working on fixing this.
Steps I'm using to reproduce: Publish a new version of a package from a different computer. In an app on your main computer, edit
Besides the benefit of reproducible runs, it's important for us to deliver the versions in
I'm going to be putting out a preview release of the new version solver tonight or tomorrow morning, and I'll include at least a preliminary fix for this.