We figured this out -- when Ryan updated the lock file two messages ago, he
was in yarn offline mode.
Projects must have lock files with the URLs in them (online-style).
Action item for me is to add a check in nodejs-modules for incoming
offline-style lockfiles, and fail the build if found.
Best wishes,
Greg
On Fri, Feb 17, 2017 at 8:35 AM, Marek Libra <mlibra(a)redhat.com> wrote:
Build of ovirt-engine-nodejs-modules is failing on missing
history-4.5.1.
requested by cockpit-ovirt/dashboad/package.json . This dependency was
introduced in the patch sent in one of the previous emails in this thread.
Please have a look at
https://gerrit.ovirt.org/#/c/72508 .
The history-4.5.1 can be installed via npm.
Dependencies for other projects listed in the projects.list can be
resolved.
On Thu, Feb 16, 2017 at 5:48 PM, Ryan Barry <rbarry(a)redhat.com> wrote:
> Just so nobody repeats my mistake --
>
> In 2b (from the original email) -- if dependencies are updated, you must
> also:
>
> - Resynchronize the yarn.lock in your project file if you bump
> dependencies versions, otherwise yarn.lock will not agree with
> package.json, and your build will fail...
>
>
> On Fri, Feb 10, 2017 at 11:44 AM, Ryan Barry <rbarry(a)redhat.com> wrote:
>
>> Awesome, thanks guys!
>>
>> On Feb 10, 2017 11:43, "Greg Sheremeta" <gshereme(a)redhat.com>
wrote:
>>
>>> Ryan,
>>>
>>> I was curious, had to try it myself :) Vojtech's suggestion of bumping
>>> up all your dependencies does the trick. Patch attached (there were some
>>> quirks -- hopefully this helps)
>>>
>>> Greg
>>>
>>>
>>> On Fri, Feb 10, 2017 at 12:10 PM, Vojtech Szocs <vszocs(a)redhat.com>
>>> wrote:
>>>
>>>> Ryan, try running webpack with --display-error-details parameter.
>>>>
>>>> Also, maybe this comment is related:
https://github.com/webpack/web
>>>> pack/issues/3242#issuecomment-260411104
>>>>
>>>> AFAIK, Node.js v6 path APIs had some changes, which possibly broke
>>>> some webpack plugins. Since current Node.js active LTS == v6, I'd
expect
>>>> webpack plugin authors to fix their issues, you'll need to bump some
>>>> versions in package.json probably.
>>>>
>>>> Vojtech
>>>>
>>>>
>>>> On Fri, Feb 10, 2017 at 6:05 PM, Greg Sheremeta
<gshereme(a)redhat.com>
>>>> wrote:
>>>>
>>>>> I'm clueless. Lol, actually I was just debugging the exact same
thing
>>>>> when I saw your email that you were working on it.
>>>>>
>>>>> I was next going to look into
https://github.com/babel/
>>>>> grunt-babel/issues/56#issuecomment-154377457 and the comment after
>>>>> it.
>>>>>
>>>>>
>>>>> On Fri, Feb 10, 2017 at 12:02 PM, Ryan Barry
<rbarry(a)redhat.com>
>>>>> wrote:
>>>>>
>>>>>> Thanks Greg!
>>>>>>
>>>>>> I actually merged patches for it to work, but it's always
nice to
>>>>>> see another approach, and in looking at your diff, I see that I
also didn't
>>>>>> change "--with-npm-install", which I should.
>>>>>>
>>>>>> As long as we have you on the phone (so to speak), I'm
actually
>>>>>> curious about ovirt-engine-nodejs. We've been having failures
in CI since
>>>>>> December, give or take, but they're not tied to any
particular patch. That
>>>>>> is to say that checking out an earlier commit still suddenly
fails. This
>>>>>> has been a low-grade annoyance while we prep for 4.1, since
everything
>>>>>> still builds and runs in build-artifacts without any problems,
but getitng
>>>>>> "-1 Continuous Integration" on every patch isn't
very helpful.
>>>>>>
>>>>>> Webpack complains "PATH should be a string, is
undefined", but never
>>>>>> tells me where it's looking for this. We don't use
path.resolve anywhere
>>>>>> and I've probably tried every suggestion on
github/stackoverflow for making
>>>>>> this go away, without any success. There are a lot of reports
that changing
>>>>>> the downgrading the NodeJS major version (from 6 -> 5,
generally) resolves
>>>>>> this,b ut that's obviously not an option for us.
>>>>>>
>>>>>> Any ideas?
>>>>>>
>>>>>> On Fri, Feb 10, 2017 at 9:52 AM, Greg Sheremeta
<gshereme(a)redhat.com
>>>>>> > wrote:
>>>>>>
>>>>>>> I didn't realize Ryan was already doing this, so here was
my take
>>>>>>> (attached). Maybe it helps.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Feb 10, 2017 at 11:33 AM, Vojtech Szocs
<vszocs(a)redhat.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Feb 10, 2017 at 5:30 PM, Ryan Barry
<rbarry(a)redhat.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Nothing, but thanks.
>>>>>>>>>
>>>>>>>>> It is/was a question of time. I didn't expect the
changes to
>>>>>>>>> ovirt-engine-modules to make it into master as
quickly as they did (to be
>>>>>>>>> fair, it's been nearly a month since the initial
meeting, but that month
>>>>>>>>> passed very quickly prepping for the beta release).
>>>>>>>>>
>>>>>>>>> I'm pushing patches to cockpit-ovirt and
>>>>>>>>> ovirt-engine-nodejs-modules to get cockpit-ovirt
working on master again
>>>>>>>>> now.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Please add Greg & me as reviewers :-) also, if there
are any open
>>>>>>>> issues or questions, let us know.
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Feb 10, 2017 at 6:56 AM, Greg Sheremeta <
>>>>>>>>> gshereme(a)redhat.com> wrote:
>>>>>>>>>
>>>>>>>>>> I can assist too. What do you need? If it's
easier, I'm
>>>>>>>>>> available on IRC.
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 10, 2017 at 8:00 AM, Sandro Bonazzola
<
>>>>>>>>>> sbonazzo(a)redhat.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Vojtech, can you please help Ryan and Marek
with cockpit-ovirt?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Feb 8, 2017 at 3:29 PM, Vojtech Szocs
<
>>>>>>>>>>> vszocs(a)redhat.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hello devs,
>>>>>>>>>>>>
>>>>>>>>>>>> following packages, intended as
build-time dependencies of
>>>>>>>>>>>> oVirt
>>>>>>>>>>>> JavaScript projects, have been updated:
>>>>>>>>>>>>
>>>>>>>>>>>> * ovirt-engine-nodejs
>>>>>>>>>>>> * ovirt-engine-nodejs-modules
>>>>>>>>>>>> * ovirt-engine-yarn
>>>>>>>>>>>>
>>>>>>>>>>>> If you use those packages, please read on
to learn how to
>>>>>>>>>>>> adapt your
>>>>>>>>>>>> project. oVirt Dashboard (master) is
already adapted and you
>>>>>>>>>>>> can use
>>>>>>>>>>>> it as your reference.
>>>>>>>>>>>>
>>>>>>>>>>>> ==
>>>>>>>>>>>>
>>>>>>>>>>>> 1, move your project from npm to Yarn:
>>>>>>>>>>>>
>>>>>>>>>>>> - using nodejs-modules implies that your
project moves from
>>>>>>>>>>>> npm to
>>>>>>>>>>>> Yarn, please do this as your first step
>>>>>>>>>>>> - make sure to add yarn.lock file to
source control: rm -rf
>>>>>>>>>>>> node_modules && yarn install #
generates yarn.lock
>>>>>>>>>>>> - your automation/*.packages should
contain something like
>>>>>>>>>>>> this:
>>>>>>>>>>>>
>>>>>>>>>>>> ovirt-engine-nodejs-6.9.4
>>>>>>>>>>>> ovirt-engine-nodejs-modules-1.0.3
>>>>>>>>>>>> ovirt-engine-yarn-0.19.1
>>>>>>>>>>>>
>>>>>>>>>>>> - since oVirt CI uses yum cache, always
specify exact version
>>>>>>>>>>>> of
>>>>>>>>>>>> nodejs-modules in your
automation/*.packages
>>>>>>>>>>>> - in your RPM build script, make sure to
set up Node.js env.:
>>>>>>>>>>>> source
>>>>>>>>>>>>
/usr/share/ovirt-engine-nodejs-modules/setup-env.sh
>>>>>>>>>>>>
>>>>>>>>>>>> ==
>>>>>>>>>>>>
>>>>>>>>>>>> 2a, dependency handling - 1st time:
>>>>>>>>>>>>
>>>>>>>>>>>> - clone nodejs-modules repo & update
the projects.list file -
>>>>>>>>>>>> add
>>>>>>>>>>>> URL(s) to your project's files
(package.json + yarn.lock)
>>>>>>>>>>>> - bump .z in RPM Version and reset the
RPM Release number,
>>>>>>>>>>>> submit
>>>>>>>>>>>> patch to Gerrit
>>>>>>>>>>>> - in your project, update
automation/*.packages to use the
>>>>>>>>>>>> right
>>>>>>>>>>>> nodejs-modules version
>>>>>>>>>>>>
>>>>>>>>>>>> 2b, dependency handling - whenever your
dependencies change:
>>>>>>>>>>>>
>>>>>>>>>>>> - clone nodejs-modules repo & bump
RPM Release number, submit
>>>>>>>>>>>> patch to Gerrit
>>>>>>>>>>>> - in your project, update
automation/*.packages to use the
>>>>>>>>>>>> right
>>>>>>>>>>>> nodejs-modules version
>>>>>>>>>>>>
>>>>>>>>>>>> ==
>>>>>>>>>>>>
>>>>>>>>>>>> Q: how does the new nodejs-modules work?
>>>>>>>>>>>>
>>>>>>>>>>>> A: instead of maintaining one big
package.json file to specify
>>>>>>>>>>>> all
>>>>>>>>>>>> dependencies of all projects (effectively
forcing all projects
>>>>>>>>>>>> to use
>>>>>>>>>>>> single dependency tree), it contains the
projects.list file
>>>>>>>>>>>> with
>>>>>>>>>>>> URL(s) to specific project files.
>>>>>>>>>>>>
>>>>>>>>>>>> When building nodejs-modules RPM, it goes
through the list of
>>>>>>>>>>>> URL(s),
>>>>>>>>>>>> downloading project's files
(package.json + yarn.lock), then
>>>>>>>>>>>> downloading required dependencies (using
Yarn) and collecting
>>>>>>>>>>>> their
>>>>>>>>>>>> .tar.gz sources. The nodejs-modules RPM
therefore contains a
>>>>>>>>>>>> flat list
>>>>>>>>>>>> of all .tar.gz sources of all
dependencies of all projects.
>>>>>>>>>>>>
>>>>>>>>>>>> When you source the setup-env.sh script,
it does, among other
>>>>>>>>>>>> things,
>>>>>>>>>>>> tell Yarn to use
>>>>>>>>>>>>
/usr/share/ovirt-engine-nodejs-modules/yarn-offline-cache
>>>>>>>>>>>> containing
>>>>>>>>>>>> all .tar.gz sources. Then, it runs Yarn
in offline mode to
>>>>>>>>>>>> populate
>>>>>>>>>>>> your project's node_modules
directory.
>>>>>>>>>>>>
>>>>>>>>>>>> ==
>>>>>>>>>>>>
>>>>>>>>>>>> Hope this helps.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Vojtech
>>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>>> Devel mailing list
>>>>>>>>>>>> Devel(a)ovirt.org
>>>>>>>>>>>>
http://lists.ovirt.org/mailman/listinfo/devel
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Sandro Bonazzola
>>>>>>>>>>> Better technology. Faster innovation. Powered
by community
>>>>>>>>>>> collaboration.
>>>>>>>>>>> See how it works at
redhat.com
>>>>>>>>>>>
>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>> Devel mailing list
>>>>>>>>>>> Devel(a)ovirt.org
>>>>>>>>>>>
http://lists.ovirt.org/mailman/listinfo/devel
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Greg Sheremeta, MBA
>>>>>>>>>> Red Hat, Inc.
>>>>>>>>>> Sr. Software Engineer
>>>>>>>>>> gshereme(a)redhat.com
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Greg Sheremeta, MBA
>>>>>>> Red Hat, Inc.
>>>>>>> Sr. Software Engineer
>>>>>>> gshereme(a)redhat.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Greg Sheremeta, MBA
>>>>> Red Hat, Inc.
>>>>> Sr. Software Engineer
>>>>> gshereme(a)redhat.com
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Greg Sheremeta, MBA
>>> Red Hat, Inc.
>>> Sr. Software Engineer
>>> gshereme(a)redhat.com
>>>
>>
>
--
Greg Sheremeta, MBA
Red Hat, Inc.
Sr. Software Engineer
gshereme(a)redhat.com