-
Notifications
You must be signed in to change notification settings - Fork 121
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
feat(ci): add Lean testing in the CI #871
Conversation
I noticed that Lean tests are actually already covered by the test coverage job, I will remove the extension of the core tests and change this to build the emitted Lean project. |
a558385
to
399e99a
Compare
@javra This is ready now, I think. |
5f294bb
to
e7e5674
Compare
Maybe |
e7e5674
to
8c81939
Compare
bash will treat |
8c81939
to
897ed19
Compare
I was not sure that |
Besides |
.github/workflows/coverage.yml
Outdated
uses: actions/cache/restore@v3 | ||
with: | ||
path: ~/.elan | ||
key: ${{ matrix.os }}-${{ matrix.version }}-cov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use the same key here as our opam cache, or will they end up clobbering each other?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think they are going to clobber each other actually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(so I would prefix the key by elan-
)
During my local tests, warnings does not cause nonzero exit status and does not make the pipeline fail. But yeah. |
897ed19
to
dd8d4d1
Compare
@bacam could I bother you to kick again a CI run? |
@Alasdair taking over this for now. |
CI is now running lake, but I get some errors. Is this just because this branch is behind?
|
Off the top of my head, I was able to lake build things myself locally so it's surprising to see errors, could be Lean version. |
We should just merge the latest |
Also, this PR fixes some lean bugs: #920. |
This still fails with:
|
Well it's not been rebased yet, has it? |
Not on #920 yet. |
#920 doesn't fix the error message that you posted, but some stuff in between might have |
…h EEXIST If the directory already exist, it's fine, no need to fail with EEXIST. This fixes the situation where the bug already exist. Signed-off-by: Raito Bezarius <[email protected]>
/bin/bash is not guaranteed to exist on all Linux distributions, NixOS does not have one. Prefer `/usr/bin/env` which should really (empirically) always exist. Signed-off-by: Raito Bezarius <[email protected]>
Restovers can remains due to spurious failures as we are not catching exceptions in the middle that may prevent the final `rm` to run. If we are not doing that, the next run will cause EEXIST errors. Signed-off-by: Raito Bezarius <[email protected]>
This reuses the various lean-toolchain information and download an ad-hoc Lean version based on this. Signed-off-by: Raito Bezarius <[email protected]>
Looks like that commit reduced the number of errors from 6 down to 4. I can make it ignore those tests and then we can merge. Whichever commit fixes each test can then just remove them from the ignore list. |
Sounds great. Thank you. |
The only issue seems to be that the |
I'm on it, fix incoming |
#922 should fix it |
(Openened a PR to make the empty type hashable to have a more homogeneous solution later) |
Ahem, #922 did not fix it in that sense... |
This ensures that all changes to the Lean backend are tested by recompiling the Lean files with Lean itself via the coverage CI entrypoint.
I'm not exactly sure if you are fine with the solution to install Lean, I have other options:
Let me know what you prefer and I will adapt this PR. Additionally, I have a Nix scaffolding setup (default/shell) which is quite popular for people working on that environment, if you are interested into me contributing it, please let me know. I can also take maintenance ownership on that if needed, obviously.
cc @javra
Signed-off-by: Raito Bezarius [email protected]