Hi Zoran,

Many thanks for fixing this.  Your explanation is what I thought should be 
happening but….

The yarn docs indicate that pnp is supposed to be the default strategy for 
.yarnrc nodeLinker, however when I run yarn install it adds node_modules and 
removes .pnp.js.  If I explicitly set nodeLinker: “pnp” then it removes 
node_modules and brings back .pnp.js.  I’m going to add the explicit setting. 
(it turns out that something added a .yarnrc.yml file in a parent directory 
with nodeLinker: “node-modules”…. it wasn’t a manual action on my part)

With  this setting, running yarn install only results in changes in 
.yarn/build-state.yml and files under .yarn/unplugged. I can undo these changes 
and run yarn install —immutable successfully, but if I change package.json to 
use Antora 3.0.0-alpha.10 then it fails.  I’ll try changing the pr.yaml like 
this:

-        run: yarn workspaces foreach install --check-cache
+        run: yarn workspaces foreach install --check-cache --immutable

The promise of pnp seems to be only partially fulfilled.  If I run yarn 
build-all on a clean checkout, it fails because the stuff in 
antora-ui-camel/.yarn/unplugged is for linux, not macOS.  I have to run yarn 
workspaces foreach rebuild in order to get a working build.  I’m going to add 
this to the Jenckinsfile so if I check in depedency updates it won’t break the 
jenkins build.

I opened https://github.com/apache/camel-website/issues/652 to track this.

David Jencks

> On Oct 25, 2021, at 2:02 AM, Zoran Regvart <zo...@regvart.com> wrote:
> 
> Hi David,
> I think the issue should be fixed now[1]. The goal of Yarn cache as
> implemented using PnP is to maintain a hashed artifact of the
> dependency in `.yarn/cache`, so any time a dependency is changed a
> corresponding change needs to be made in `.yarn/cache`, for this
> running `yarn install` is all that should be required.
> 
> The build does not download any dependencies, and with the exception
> of accessing git repositories and GitHub API it should be offline.
> This serves mainly two purposes: build remains stable (i.e. it's not
> affected by NPM/Yarn outages or limits) and build performance is
> increased (i.e. no download latency).
> 
> It seems that the check for cache being up to date doesn't fail the
> build[2], that should be improved so we don't end up building with the
> wrong dependencies.
> 
> zoran
> 
> [1] 
> https://github.com/apache/camel-website/commit/83b4533ce1d97132e1c109b396ddcfc709b63822
>  
> <https://github.com/apache/camel-website/commit/83b4533ce1d97132e1c109b396ddcfc709b63822>
> [2] https://github.com/apache/camel-website/pull/648/checks#step:3:15 
> <https://github.com/apache/camel-website/pull/648/checks#step:3:15>
> 
> On Sun, Oct 24, 2021 at 4:17 PM David Jencks <david.a.jen...@gmail.com 
> <mailto:david.a.jen...@gmail.com>> wrote:
>> 
>> I’m afraid Zoran will have to fix this.  I’m totally confused by what yarn 
>> is doing.
>> 
>> - mvn approach:
>> getting back to a git clean state, running mvn clean package appears to be 
>> using npm 10 and yarn 1.14 and quickly errors.
>> 
>> - yarn approach:
>> 
>> david@mbp2 camel-website % yarn --version
>> 2.4.0
>> 
>> Running yarn install:
>> 
>> david@mbp2 camel-website % git status
>> On branch main
>> Your branch is up to date with 'origin/main'.
>> 
>> Changes not staged for commit:
>>  (use "git add/rm <file>..." to update what will be committed)
>>  (use "git restore <file>..." to discard changes in working directory)
>>        deleted:    .pnp.js
>>        modified:   .yarn/build-state.yml
>>        deleted:    
>> .yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.0.6-4db3f3a720-70a23e1885.zip
>>        deleted:    
>> .yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.0.4-daa788a548-ba33c6567c.zip
>>        modified:   yarn.lock
>> 
>> Untracked files:
>>  (use "git add <file>..." to include in what will be committed)
>>        
>> .yarn/cache/@djencks-asciidoctor-antora-indexer-npm-0.1.0-alpha.1-015913d711-cbc7c0da4d.zip
>>        
>> .yarn/cache/@djencks-asciidoctor-jsonpath-npm-0.1.0-alpha.1-7faec6e075-36431697f1.zip
>>        
>> .yarn/cache/@djencks-asciidoctor-report-support-npm-0.1.0-alpha.1-8796513cc6-12900388ef.zip
>>        node_modules/
>> 
>> Why is there now a node_modules???? removing it prevents yarn from running. 
>> Before trying to clean up this problem I had a lot of uncommitted local  
>> files but I could run yarn install without deleting .pnp.js or getting a 
>> node_modules.
>> 
>> I also suspect that even if I got a plausible setup locally it wouldn’t work 
>> to commit it since I’m on a mac and the CI/Jenkins runs aren’t: the 
>> README.md line 126 says I should expect to run yarn rebuild, which doesn’t 
>> appear to be done by the Jenkins script.
>> 
>> David Jencks
>> 
>>> On Oct 23, 2021, at 6:59 AM, David Jencks <david.a.jen...@gmail.com> wrote:
>>> 
>>> Something is dreadfully wrong with  the jenkins website build.  It looks as 
>>> if the jenkins build is not using the updated indexer and jenkins 
>>> extensions.
>>> 
>>> I don’t really understand how the yarn pnp stuff works, and I did not 
>>> update any of the yarn caches…. I’m a bit scared off by stuff like this 
>>> when I run yarn locally:
>>> 
>>> ➤ YN0000: ┌ Link step
>>> ➤ YN0062: │ @netlify/traffic-mesh-agent-linux-x64@npm:0.27.0 The platform 
>>> darwin is incompatible with this module, link skipped.
>>> ➤ YN0062: │ @netlify/traffic-mesh-agent-win32-x64@npm:0.27.0 The platform 
>>> darwin is incompatible with this module, link skipped.
>>> 
>>> 
>>> Does yarn update the cache so it will work on any platform?  It would be 
>>> great if there was documentation in the README about what to do if you 
>>> change the dependencies in package.json.
>>> 
>>> The default values do appear in the preview.
>>> 
>>> David Jencks
>>> 
>>>> On Oct 23, 2021, at 2:09 AM, Claus Ibsen <claus.ib...@gmail.com 
>>>> <mailto:claus.ib...@gmail.com> <mailto:claus.ib...@gmail.com 
>>>> <mailto:claus.ib...@gmail.com>>> wrote:
>>>> 
>>>> Hi
>>>> 
>>>> The default value is not yet appearing.
>>>> 
>>>> On Sat, Oct 23, 2021 at 10:03 AM Zoran Regvart <zo...@regvart.com 
>>>> <mailto:zo...@regvart.com> <mailto:zo...@regvart.com 
>>>> <mailto:zo...@regvart.com>>> wrote:
>>>>> 
>>>>> Hi David,
>>>>> everything looks good, thank you for this effort!
>>>>> 
>>>>> zoran
>>>>> 
>>>>>> On 22 Oct 2021, at 02:45, David Jencks <david.a.jen...@gmail.com 
>>>>>> <mailto:david.a.jen...@gmail.com> <mailto:david.a.jen...@gmail.com 
>>>>>> <mailto:david.a.jen...@gmail.com>>> wrote:
>>>>>> 
>>>>>> I’ve prepared a website update to the recent incompatible-syntax upgrade 
>>>>>> of my indexer and jsonpath Antora extensions that build most of the 
>>>>>> tables and a lot of content.  The preview is at 
>>>>>> https://pr-648--camel.netlify.app <https://pr-648--camel.netlify.app/> 
>>>>>> <https://pr-648--camel.netlify.app/ 
>>>>>> <https://pr-648--camel.netlify.app/>> 
>>>>>> <https://pr-648--camel.netlify.app/ <https://pr-648--camel.netlify.app/> 
>>>>>> <https://pr-648--camel.netlify.app/ 
>>>>>> <https://pr-648--camel.netlify.app/>>>. I’d appreciate lots of eyes to 
>>>>>> see if I broke anything
>>>>>> 
>>>>>> I think this is ready to merge… there are 17 PRs to merge, some of which 
>>>>>> need to be adjusted before merging (the website PR and 2 of the 
>>>>>> camel-quarkus PRs).
>>>>>> 
>>>>>> This also fixes some links to wrong versions and deals with Publish docs 
>>>>>> for the last stable release apache/camel-quarkus#3191 
>>>>>> <https://github.com/apache/camel-quarkus/issues/3191 
>>>>>> <https://github.com/apache/camel-quarkus/issues/3191> 
>>>>>> <https://github.com/apache/camel-quarkus/issues/3191 
>>>>>> <https://github.com/apache/camel-quarkus/issues/3191>>> although I have 
>>>>>> a question about that since there seems to be a 2.3.x camel-quarkus so I 
>>>>>> wonder how many and which versions should be shown.  Currently I’m 
>>>>>> showing latest, 2.3.x, and 2.2.x.
>>>>>> 
>>>>>> I have no idea if I should open one or more issues to describe this 
>>>>>> work, or where such an issue should go.
>>>>>> 
>>>>>> Thanks,
>>>>>> David Jencks
>>>>>> 
>>>>>> 
>>>>> 
>>>>> --
>>>>> Zoran Regvart
>>>>> zo...@regvart.com <mailto:zo...@regvart.com> <mailto:zo...@regvart.com 
>>>>> <mailto:zo...@regvart.com>>
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> http://davsclaus.com <http://davsclaus.com/> <http://davsclaus.com/ 
>>>> <http://davsclaus.com/>> @davsclaus
>>>> Camel in Action 2: https://www.manning.com/ibsen2 
>>>> <https://www.manning.com/ibsen2> <https://www.manning.com/ibsen2 
>>>> <https://www.manning.com/ibsen2>>
>>> 
>> 
> 
> 
> -- 
> Zoran Regvart

Reply via email to