profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/jordwalke/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

jordwalke/CommonML 96

Simple OCaml Development Workflow on CommonJS

esy-ocaml/hello-ocaml 56

an example esy-powered OCaml project

hedgerwang/react-styles 53

Utility to manage styles for React JS components

esy-ocaml-old/esy-old 40

package.json workflow for compiled languages (old repository)

Engil/reason-web-toplevel 17

A Reason web toplevel built using js_of_ocaml

jordwalke/common-native-reason-issues 13

Common Issues When Developing Native Reason Projects

grp/XNAnimation 7

(very) early experiment in animations

jordwalke/css-layout 7

ReSS: Reason implementation of CSS Flex Box layout (a port of css-layout project), targeting native compilation and JS compilation

startednessjs/ness

started time in 3 hours

push eventesy/esy

Manas

commit sha d42af8e9d1f724af74dddf9518b2ec0c8167d8e9

Readme: Add a section about running slow tests

view details

Blaine Bublitz

commit sha 78f65cad66a572b00db933adb01154aec2c2fb25

Disable opam {post} variable (#1319)

view details

Manas

commit sha af13504c5867ba996b41b9c1338cb1a919a28258

Typo: pacing -> placing

view details

Manas

commit sha 3cfcfa4582a1a8bd0848a97b7e960607a6c3b1b0

Docs: Remove note about esy-release not working on w

view details

Manas

commit sha c84566fbfc904a2f714fe5b9d1b293996928a6fd

Fix Alpine image (#1326) * Fix Alpine Builds: adopt 4.12's new compiler variants layout Additionally, uses specific git commits for better reproducibility * Add missing Alpine packages

view details

Manas

commit sha f108165abc470f6556a4b822382af2f252dde008

Docs: Add a note about ocaml compiler package

view details

Manas

commit sha 25c27129097b1b15788ddac33e81076a983baad9

Fixes Windows cache step failure (#1327) Windows paths have 86 underscores. Not 85

view details

Manas

commit sha 6f16cc08d1b5f1557588e9564a6d549ac2ec793a

CI: Trigger on specific branches and skip .md

view details

Kaushal Rohit

commit sha 03966da4e3e3dd908d95820bf4b5c0d7b2b32009

Replaced `let%bind` with monadic `let*` (#1278) * Replaces `let%bind` with monadic `let*` bringing into scope operators along with Let_syntax * fixed refmt multiline comments issue * Continue looping on Fs.stats as it used to Co-authored-by: Manas <3097018+ManasJayanth@users.noreply.github.com>

view details

Eduardo Rafael

commit sha 718d7e7a51fbf82e729045f4293eca56766abff4

Improve local tests-e2e-re (#1070) * Fix: Support local installation of node * Tests: Add test-e2e-re to `make test`

view details

Manas

commit sha 83007fb50b1d07543249db9984e01feb8db8e5fb

@slowtest Update slow test suite (#1325) * Use 4.10.x to run slow test * @slowtest Update list of top 100 opam packages ... and temporarily disable NPM and Opam packages that dont build

view details

Manas

commit sha 5ce0d2226e456fadff355297bf31fd337429cfc6

@slowtest Document {post} being ignored by solver (#1323)

view details

Melwyn Saldanha

commit sha ca4e8efaeebf251c90b5a302a4d2006de078522c

@slowtest Add support for extra sources (#1318) * logs * install extra sources * wip: parse extra-souces and store in Dist.NoSource * write extraSources into esy.lock/index.json * wip: wire in pkg.extraSources * wip: fix paths and enable install * wip: remove un-necessary code * wip: remove dependency of Path on Empty in DistStorage * wip: cleanup code * fix: formatting * fix: e2e tests * refactor: use RunAsync.List instead of Lwt_List * run @slowtest libtorch * fix: default to [] in case of old lock files * rename fix to fmt * remove opam related dependency from esy-lib * remove un-necessary files * fmt * remove build bash script * make extraSources optional in fetch * add more information to error log * @slowtest * test for extra-source in opam dependency * @slowtest extra-source libtorch * reorder scripts & run @slowtest

view details

Manas

commit sha d44ad8682a3532b701eb8ed532bd864c84f9718a

@slowtest Use vendored bos to remove files/directories Vendored bos has fixes for readonly files on Windows. Issue last seen with esy i --cache-tarballs-path

view details

Manas

commit sha 134c26565f92c8837e10a3c74e4808bb29021cb5

@slowtest code formatter

view details

push time in 4 hours

startedjordwalke/paradoc

started time in 8 hours

startedjordwalke/paradoc

started time in 10 hours

startedjordwalke/paradoc

started time in 18 hours

startedjordwalke/paradoc

started time in 18 hours

startedjordwalke/paradoc

started time in 19 hours

issue commentesy/esy

Limitations of rewritePrefix

Feel free to re-open this if something actionable on your minds, folks.

eWert-Online

comment created time in 19 hours

issue closedesy/esy

Limitations of rewritePrefix

This is a question regarding the limitations of the rewritePrefix feature in esy (https://esy.sh/docs/en/npm-release.html#relocating-artifacts-path-rewriting). My goal is to maybe find a way to relax or in the best case completely lift these limitations.

I recently brought this topic up on discord. But I thought opening it here again, would lead to a better discussion, maybe with more people able to chime in 🙂

Question 1:

Currently releases configured with "esy.release.rewritePrefix": true cannot be produced on Windows.

Is this limitation still present in the current version of esy? I think I have already produced working npm-packages with this flag enabled. Maybe it is just an edge case I didn't encounter, though.

Question 2:

Releases configured with "esy.release.rewritePrefix": true cannot be installed into deep filesystem locations (the limit is around 108 characters).

I do understand, that the current path-length limitation exists, because of the shebang length limit.

If I understand correctly, this is only an issue on linux, or does this limit also exist on mac and windows? If this is only an issue on linux, one approach to relax this constraint could be to have a different store padding on different operating systems, like for example:

  • Linux - 127 (because of shebang limit)
  • Windows - 260 (because of path length limit)
  • Mac - ??? (I don't know if there is a limiting factor)

Why do I want to increase the limit? 127 characters is already pretty long, but in the context of node_modules (or npm-packages in general), paths can get much longer than that on a regular basis. Currently, releasing an npm-package with path rewriting enabled often times just leaves you hoping, that no one uses your npm package in a deeply nested path. Especially, when these packages are used in a ci environment, where you don't have much control over the length of your path. With odiff for example, we've already had two reports of install failures, because of this limitation (https://github.com/dmtrKovalenko/odiff/issues/29, https://github.com/dmtrKovalenko/odiff/issues/34). And this is probably just the tip of the iceberg, as presumably many just give up and walk away, when they encounter such issues. Disabling path rewriting is also not always an option, as you then run into issues like this https://github.com/dmtrKovalenko/odiff/issues/41.

So relaxing the path limitation would already be a big help. The best thing would obiously be removing the limitation entirely. Maybe something like https://github.com/ocaml/ocaml/pull/8622 could also be done in esy?

But this is an area where I simply don't have any clue of whats possible and what isn't. So this is where I am asking you. Do you see any option to relax or completely lift these limitations?

closed time in 19 hours

eWert-Online

issue commentesy/esy

Limitations of rewritePrefix

@eWert-Online Would you be able to summarise this discussion as small (2-3 lines if nothing else) docs contribution? I'll close this issue for now and mark it as a question.

Thanks for reporting about the Windows docs issue.

eWert-Online

comment created time in 19 hours

pull request commentesy/esy

Add support for extra sources

Thank you so much, @melwyn95 !

melwyn95

comment created time in 19 hours

push eventesy/esy

Melwyn Saldanha

commit sha ca4e8efaeebf251c90b5a302a4d2006de078522c

@slowtest Add support for extra sources (#1318) * logs * install extra sources * wip: parse extra-souces and store in Dist.NoSource * write extraSources into esy.lock/index.json * wip: wire in pkg.extraSources * wip: fix paths and enable install * wip: remove un-necessary code * wip: remove dependency of Path on Empty in DistStorage * wip: cleanup code * fix: formatting * fix: e2e tests * refactor: use RunAsync.List instead of Lwt_List * run @slowtest libtorch * fix: default to [] in case of old lock files * rename fix to fmt * remove opam related dependency from esy-lib * remove un-necessary files * fmt * remove build bash script * make extraSources optional in fetch * add more information to error log * @slowtest * test for extra-source in opam dependency * @slowtest extra-source libtorch * reorder scripts & run @slowtest

view details

push time in 19 hours

issue closedesy/esy

Support opam's `extra-source` field

<!-- Please fill in the entire template below. -->

Hey! I ran into this issue when trying to install a package that uses the opam file field extra-source. At first, it seemed like an issue with the archive, but then I realized that this is the error you get when you try running tar on a file that doesn't exist. I believe that esy already supports the files field through this bit of code, but I could be way off the mark. Any guidance you have would be greatly appreciated. Thanks!

<!-- Please try to reproduce the issue with esy@latest. It may have already been fixed. --> esy version: 0.6.10 Operating System: macOS

Issue: Can't install opam package that specifies files in the extra-source field

Package.json <!-- Please include the package.json where you hit the issue. If it's large, consider linking to a github repo. -->

{
  "dependencies": {
    "@opam/libwasmtime": "0.22.0+macos-x86_64"
  }
}

Actual behavior: <!-- Make sure to include the command-line output you see. -->

λ libwasmtime-test esy 
info esy 0.6.10 (using package.json)
info building @opam/libwasmtime@opam:0.22.0+macos-x86_64@a3eab072
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: @opam/libwasmtime@opam:0.22.0+macos-x86_64
    # esy-build-package: pwd: /Users/oscar/.esy/3/b/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958
    # esy-build-package: running: 'sh' '-c' 'test -d /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime/lib/libwasmtime.a || ( mkdir -p /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime && tar xf wasmtime-macos.tar.xz && mv -f wasmtime-*macos*/* /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime )'
    tar: Error opening archive: Failed to open 'wasmtime-macos.tar.xz'
    error: command failed: 'sh' '-c' 'test -d /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime/lib/libwasmtime.a || ( mkdir -p /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime && tar xf wasmtime-macos.tar.xz && mv -f wasmtime-*macos*/* /Users/oscar/.esy/3__________________________________________________________________/s/opam__s__libwasmtime-opam__c__0.22.0+macos-x86_64-7ece8958/lib/libwasmtime )' (exited with 1)
    esy-build-package: exiting with errors above...
    
  building @opam/libwasmtime@opam:0.22.0+macos-x86_64
esy: exiting due to errors above

Expected behavior: Download the files specified in the extra-source field before building

Additional steps to reproduce: N/A

closed time in 19 hours

ospencer

PR merged esy/esy

Add support for extra sources

Fixes #1316

  • [X] Download file in stage location and later copy
  • [X] Check integrity
  • [X] Try to encode extra sources info in Variant (NoSource…) [No need found a better solution]
  • [x] Code clean up
  • [ ] Generalise for other cases Archive, Git, Github, Local?? (Ask Manas) [right now focus only on NoSource, Git & GitHub]
  • [X] Encode & Parse extra-sources in no-source [No need to do that as I have access to extraSources from lock file]
  • [X] Write extraSources in lock file
  • [x] Test esy (new and old) with (new and old) lock file format
  • [x] Check if temporary files/paths are deleted/renamed properly
  • [x] Test with --cached-tarballs-path
  • [x] Write test cases
  • [x] Use RunAsync instead of Lwt
+242 -13

6 comments

20 changed files

melwyn95

pr closed time in 19 hours

issue commentesy/esy

Limitations of rewritePrefix

Overall I think we should provide tools to build static binaries to begin with, a linker wrapper that prefers .a to .so would already be 99% of the problem.

eWert-Online

comment created time in 21 hours

issue commentesy/esy

Limitations of rewritePrefix

@ManasJayanth no what I meant is that there is no way that we can guarantee that rewritePrefix works on npm client.

Building npm releases here for me is clearly about releasing it to the registry, not the npm client. You will still probably need to have esy to install it, of course globally it may work for npm and we can probably ensure that. But not as a package dependency.

eWert-Online

comment created time in 21 hours

push eventesy/test-github-long-hash

Manas

commit sha 06e490a3cc632079ec68a04edc3726663fa872d3

Fixes Windows build

view details

push time in a day

push eventesy/test-github-short-hash

Manas

commit sha 728d04f144f23470ce3ef9b8e5bbf730f39befb8

Windows support

view details

push time in a day

delete branch esy/esy

delete branch : prometheansacrifice/add-post-tag-removal-explainer

delete time in a day

push eventesy/esy

Manas

commit sha 5ce0d2226e456fadff355297bf31fd337429cfc6

@slowtest Document {post} being ignored by solver (#1323)

view details

push time in a day

pull request commentesy/esy

Document {post} being ignored by solver

Good for us :P

ManasJayanth

comment created time in a day

pull request commentesy/esy

Document {post} being ignored by solver

@phated Some 80+ top opam packages are building fine with post=false.

ManasJayanth

comment created time in a day

PR closed esy-ocaml/esy-opam-override

Overrides for zarith 1.12

This was not tested

+51 -0

2 comments

2 changed files

EduardoRFS

pr closed time in a day

pull request commentesy-ocaml/esy-opam-override

Overrides for zarith 1.12

thank you

EduardoRFS

comment created time in a day

pull request commentesy-ocaml/esy-opam-override

Overrides for zarith 1.12

Sorry! Missed this PR and ended up adding overrides for zarith 1.12 myself. Once key difference is that the zarith 1.10 patch wasn't necessary for 1.12

EduardoRFS

comment created time in a day

push eventesy/esy

Manas

commit sha af13504c5867ba996b41b9c1338cb1a919a28258

Typo: pacing -> placing

view details

Manas

commit sha 3cfcfa4582a1a8bd0848a97b7e960607a6c3b1b0

Docs: Remove note about esy-release not working on w

view details

Manas

commit sha c84566fbfc904a2f714fe5b9d1b293996928a6fd

Fix Alpine image (#1326) * Fix Alpine Builds: adopt 4.12's new compiler variants layout Additionally, uses specific git commits for better reproducibility * Add missing Alpine packages

view details

Manas

commit sha f108165abc470f6556a4b822382af2f252dde008

Docs: Add a note about ocaml compiler package

view details

Manas

commit sha 25c27129097b1b15788ddac33e81076a983baad9

Fixes Windows cache step failure (#1327) Windows paths have 86 underscores. Not 85

view details

Manas

commit sha 6f16cc08d1b5f1557588e9564a6d549ac2ec793a

CI: Trigger on specific branches and skip .md

view details

Kaushal Rohit

commit sha 03966da4e3e3dd908d95820bf4b5c0d7b2b32009

Replaced `let%bind` with monadic `let*` (#1278) * Replaces `let%bind` with monadic `let*` bringing into scope operators along with Let_syntax * fixed refmt multiline comments issue * Continue looping on Fs.stats as it used to Co-authored-by: Manas <3097018+ManasJayanth@users.noreply.github.com>

view details

Eduardo Rafael

commit sha 718d7e7a51fbf82e729045f4293eca56766abff4

Improve local tests-e2e-re (#1070) * Fix: Support local installation of node * Tests: Add test-e2e-re to `make test`

view details

Manas

commit sha 83007fb50b1d07543249db9984e01feb8db8e5fb

@slowtest Update slow test suite (#1325) * Use 4.10.x to run slow test * @slowtest Update list of top 100 opam packages ... and temporarily disable NPM and Opam packages that dont build

view details

Manas

commit sha d48099239adb655e3c4f3290b774cad3a3958692

@slowtest Document {post} being ignored by solver

view details

push time in a day

pull request commentesy/esy

Add support for extra sources

@melwyn95 Can you rebase please?

melwyn95

comment created time in a day

delete branch esy/esy

delete branch : prometheansacrifice/update-slow-test-suite

delete time in a day

push eventesy/esy

Manas

commit sha 83007fb50b1d07543249db9984e01feb8db8e5fb

@slowtest Update slow test suite (#1325) * Use 4.10.x to run slow test * @slowtest Update list of top 100 opam packages ... and temporarily disable NPM and Opam packages that dont build

view details

push time in a day