Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

use new @trufflesuite/bigint-buffer #1414

Merged
merged 23 commits into from
Nov 3, 2021
Merged

Conversation

MicaiahReid
Copy link
Contributor

@MicaiahReid MicaiahReid commented Oct 19, 2021

Previously the bigint-buffer library used by Ganache would fail to build on Windows unless windows-build-tools was installed. This would cause the (slower) JS fallback to be used and would display an ugly warning in the console on startup of Ganache. This PR's main objective is to use trufflesuite's new bigint-buffer library, which prebuilds all binaries during CI to prevent this warning.

Additionally, this PR:

  • removes unnecessary CI installations when Github runs the PR action
  • Adds very basic test to check if fallback for bigint-buffer is used.
    • Note: the original bigint-buffer library does NOT fail to build and use the JS fallback in our CI tests. This is because the windows version used by Github actions has the necessary dependencies (python) installed by default. So while the test should accurately tell us if the fallback is used, it shouldn't ever happen in CI so it's not particularly useful.

Closes #1080

Co-authored-by: David Murdoch <187813+davidmurdoch@users.noreply.github.com>
@trufflesuite trufflesuite deleted a comment from davidmurdoch Nov 1, 2021
.github/workflows/pr.yml Outdated Show resolved Hide resolved
@MicaiahReid MicaiahReid merged commit 94e9572 into develop Nov 3, 2021
@MicaiahReid MicaiahReid deleted the chore/prebuild-binaries branch November 3, 2021 17:32
bors bot pushed a commit to sigp/lighthouse that referenced this pull request Mar 22, 2022
## Issue Addressed

Attempt to fix CI

## Proposed Changes

- ~~install `node-gyp-build` which should look for prebuilt binaries for `@truffle-suite/bigint_buffer`. This should make it so we don't have to build it directly. See: trufflesuite/ganache#1414 this didn't work
- This also uses the `setup-node` action because it includes caching. Sort of a shot in the dark, but the ganache github repo uses it and the failures seem to be for missing files in a node cache 




Co-authored-by: realbigsean <sean@sigmaprime.io>
paulhauner pushed a commit to paulhauner/lighthouse that referenced this pull request May 6, 2022
## Issue Addressed

Attempt to fix CI

## Proposed Changes

- ~~install `node-gyp-build` which should look for prebuilt binaries for `@truffle-suite/bigint_buffer`. This should make it so we don't have to build it directly. See: trufflesuite/ganache#1414 this didn't work
- This also uses the `setup-node` action because it includes caching. Sort of a shot in the dark, but the ganache github repo uses it and the failures seem to be for missing files in a node cache 




Co-authored-by: realbigsean <sean@sigmaprime.io>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?)
2 participants