Skip to content
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

#endo-branch: mechanism might be failing #8148

Closed
erights opened this issue Aug 4, 2023 · 1 comment · Fixed by #8155
Closed

#endo-branch: mechanism might be failing #8148

erights opened this issue Aug 4, 2023 · 1 comment · Fixed by #8155
Assignees
Labels
bug Something isn't working

Comments

@erights
Copy link
Member

erights commented Aug 4, 2023

Describe the bug

Despite an #endo-branch: markm-options-harmony, PR #8136 fails at https://github.com/Agoric/agoric-sdk/actions/runs/5766676498/job/15635200458?pr=8136#step:6:232 with

> @agoric/swingset-xsnap-supervisor
$ yarn build:bundle
$ node scripts/build-bundle.js
Failed with (Error#1)
Error#1: 'environmentOptionsListHas' is not exported by ../../node_modules/@endo/env-options/index.js, imported by ../swingset-liveslots/src/virtualObjectManager.js

which is consistent with endo master, but not with endo branch markm-options-harmony from endojs/endo#1710

I was able to verify this locally by yarn linking my local agoric-sdk to my local endo's @endo/env-options. Once linked and rebuilt, the same local problem disappeared.

@erights erights added the bug Something isn't working label Aug 4, 2023
@erights erights assigned erights and michaelfig and unassigned erights Aug 4, 2023
@michaelfig
Copy link
Member

The major clues I found were in test/cosmic-swingset which did:

https://github.com/Agoric/agoric-sdk/actions/runs/5766676498/job/15635200458?pr=8136#step:6:21

At least package.json is newer than node_modules
[1/5] Validating package.json...
[2/5] Resolving packages...
[...]

That seemed to indicate our bin/agd script was rerunning yarn install even after the original installation had been done by an earlier job. This can be patched by having CI not revert the changes made to the top level package.json and yarn.lock.

But it raises the question of how the timestamps got updated in the first place to trigger bin/agd's build. For that, I just looked a bit higher up in the run:

https://github.com/Agoric/agoric-sdk/actions/runs/5766676498/job/15635200458?pr=8136#step:4:27

Run actions/checkout@v3
  with:
    clean: false
    submodules: true
    persist-credentials: false
    path: .
    repository: Agoric/agoric-sdk
    token: ***
    ssh-strict: true
    sparse-checkout-cone-mode: true
    fetch-depth: 1
    lfs: false
    set-safe-directory: true
  env:
    AGORIC_AVA_USE_TAP: true
    TEST_COLLECT: tee -a _testoutput.txt
    NODE_V8_COVERAGE: coverage
    GH_ENGINE: 16.x
    ESM_DISABLE_CACHE: true
Syncing repository: Agoric/agoric-sdk

agoric-sdk was being checked out once to obtain the restore-node action, and then a second time within the restore-node action. This could be avoided by accommodating the ubiquitous idiom:

      - uses: actions/checkout@v3
      - uses: ./.github/actions/restore-node

it looks like there was a bad parameter (clean: 'false' instead of clean: false) in restore-node's own checkout that was tampering with the package.json timestamps.

I'll do some testing and see if fixing both of those results in better behaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants