MaybeJustJames / zephyr

Tree shaking breeze for PureScript CoreFn AST
Mozilla Public License 2.0
159 stars 15 forks source link

Build against Purescript 0.14 #66

Closed MaybeJustJames closed 2 years ago

MaybeJustJames commented 3 years ago

Fixes #64

MaybeJustJames commented 3 years ago

@coot I'm struggling to get the test-lib tests to run properly. I can run most of them successfully when I use spago rather than bower+purs but the Eval and Eval.recordUpdate tests fail with:

Failures:

  test/Test/Lib.hs:54:3: 
  1) test-lib Eval
       lib should run
       expected: Right ()
        but got: Left zephyr failed "LibTest" (ExitFailure 1)
                 zephyr: An internal error occurred during compilation: Missing value in mnLookup
                 Please report this at https://github.com/purescript/purescript/issues
                 CallStack (from HasCallStack):
                   error, called at src/Language/PureScript/Crash.hs:23:3 in purescript-cst-0.4.0.0-3fbf0a595c2c98ddcf0a2a330b0b642be1fb78ab71c882bb36a0a968c07ec480:Language.PureScript.Crash
                   internalError, called at src/Language/PureScript/CodeGen/JS.hs:147:35 in purescript-0.14.5-ac10ec2ff9304d703dbfa62afbe33e10758032b9d52a7c36e91da06b61adeed8:Language.PureScript.CodeGen.JS

  To rerun use: --match "/test-lib/Eval/"

  test/Test/Lib.hs:54:3: 
  2) test-lib Eval.recordUpdate
       lib should run
       expected: Right ()
        but got: Left zephyr failed "LibTest" (ExitFailure 1)
                 zephyr: An internal error occurred during compilation: Missing value in mnLookup
                 Please report this at https://github.com/purescript/purescript/issues
                 CallStack (from HasCallStack):
                   error, called at src/Language/PureScript/Crash.hs:23:3 in purescript-cst-0.4.0.0-3fbf0a595c2c98ddcf0a2a330b0b642be1fb78ab71c882bb36a0a968c07ec480:Language.PureScript.Crash
                   internalError, called at src/Language/PureScript/CodeGen/JS.hs:147:35 in purescript-0.14.5-ac10ec2ff9304d703dbfa62afbe33e10758032b9d52a7c36e91da06b61adeed8:Language.PureScript.CodeGen.JS

  To rerun use: --match "/test-lib/Eval.recordUpdate/"

I'll keep looking but I'm just wondering if you think these changes to testing are too large for this PR?

MaybeJustJames commented 3 years ago

After 2 days trying to understand the above 2 errors in lib-test I am defeated. @coot do you understand what's going on? Here is the branch with my changes for testing: https://github.com/MaybeJustJames/zephyr/tree/testing_update_purescript_014

coot commented 2 years ago

Could you check if the purescript-014 branch works for you?

coot commented 2 years ago

Oh, I realised I force pushed to your branch, which might have overwritten some changes.

MaybeJustJames commented 2 years ago

Ah! Thanks, it's a relief to understand why that was happening. Thanks for sorting that out for me. The tests all run and pass locally for me now. I've constrained the optparse-applicative dep to be <0.16 because with >=0.16 I get dependency conflicts like:

[__1] trying: optparse-applicative-0.16.1.0 (dependency of zephyr)
[__2] next goal: purescript (dependency of zephyr)
[__2] rejecting: purescript-0.14.5 (conflict: optparse-applicative==0.16.1.0,
purescript => optparse-applicative>=0.15.1.0 && <0.16)
coot commented 2 years ago

I'll squash your last commit where I introduced it (I needed to test against purescript master, which moved to optparse-applicative-0.16).

coot commented 2 years ago

I cleaned the branch a bit.

coot commented 2 years ago

I fixed CI in a separate branch, if you don't mind I'll force push (which will subsume your last commit).

coot commented 2 years ago

Thanks @MaybeJustJames for the PR.

MaybeJustJames commented 2 years ago

Very happy to help :)