-
Notifications
You must be signed in to change notification settings - Fork 414
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
Github action for emscripten nightly builds #30
Conversation
19b938d
to
7c802cd
Compare
7c802cd
to
a423a97
Compare
9428fd9
to
77d294d
Compare
77d294d
to
4810994
Compare
4810994
to
ac0f148
Compare
Changing target branch to I have also rebased it on top of it. Still working on moving parts of the action into a script. |
409fd2f
to
d9f3654
Compare
43ce483
to
298e040
Compare
298e040
to
153c763
Compare
The current test failure in this PR here, is something we have seen a lot and I still don't really understand. |
@ekpyron I checked semver spec and looks like it does not specify ordering for metadata (the part after the plus sign): Semantic Versioning 2.0.0 > bullet point 10
So e.g. But the weird part is - why do we have several nightlies from 2016-09-17? Deleting all but one would solve the problem too :) |
There should only be one nightly per day. |
Sure there should, but what do we do with the old ones for which this isn't the case :-)? What's the most recent one for which there are more than one? If it's 0.4.2, as the CI run indicates, then we could just remove all nightlies older than 0.4.3 as well (I chose how many to already remove from solc-bin quite arbitrarily anyways, so little harm in removing a few more, is there?). |
Do you mean permanently? The nightlies that were already removed are going to be restored soon and just excluded from jekyll config. So that's a bit different from removing the "duplicates". |
Ok, that's a fair point then... But on what basis would you choose one to keep and delete others? It's not "duplicates" if it's different hashes - it's different versions we did publish once... what justifies keeping one and not another? Also: if we exclude them from the jekyll config, then we also have to exclude them from the lists, don't we? It would be weird, if the lists talk about files that don't exist... and that would be equivalent to removing them entirely as far as this particular issue is concerned... |
Yeah, I know they're not identical. That's why I put it in quotes. I really meant that all but one are redundant. I don't think any one of them is more important than the others so it does not really matter which one we keep.
Right. That's still an open question. I think I asked about it somewhere before (on Gitter?) but it got lost in the discussion. The list is indeed a problem. I think we should remove the files from the list but then we'd have to somehow serve different lists from GH pages. And that's not the only problem. Maybe we could somehow add a second set of lists and switch them over during rendering to GH pages. And change symlinks on the fly during rendring too - but it's getting complicated quickly. Freezing the branch seems like a much simpler solution so that's what I would suggest instead. |
Quote from gitter:
I agree with that - just get rid of those old nightlies altogether and the problem is solved. We also don't need to bring the ones already deleted back. |
Clarification: I was talking about the duplicate nightlies as in #30 (comment) |
8e68e0d
to
69f2b6a
Compare
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 was wondering whether the nightlies should not also get tested before publishing. There seem to be a script for testing emscripten ./scripts/test_emscripten.sh
. It also is referenced in .travis.yml
.
@aarlt Right. They probably should. I'll get back to this and add the check when I'm done with the other PRs. |
Yeah, I was wondering whether to suggest running emscripten tests as well. It wouldn't be too hard in any case - we can just spawn a job in between the two existing ones - you should be able to pretty much take over the |
Thanks. I'll use that. By the way, if you think this check is not all that essential then I can also do it in a separate PR not to block this one. |
Separate PR seems fine to me for it! |
69f2b6a
to
a2bace0
Compare
a2bace0
to
dc173ba
Compare
dc173ba
to
785dfa9
Compare
So looks like this is ready to get merged. I didn't get an answer about license and keeping the scripts in |
785dfa9
to
a4a0f89
Compare
Part of ethereum/solidity#9258. Replaces #29.
Another go at the same problem. This time doing a full checkout and building
soljson.js
within the action instead of pulling it from CircleCI. This does make things simpler and pretty much solves all the outstanding problems from the previous PR. I just still need answers for the two questions below.It's also significantly slower now: ~20 min for the build, ~3.5 min for git checkout, ~8 min for the update script.
I went with @ekpyron's suggestion and split the workflow into two jobs with
soljson.js
being passed between them as an artifact. This way we can still reuse the second part (that updatessolc-bin
) if we ever decide to go back to the solution with pulling from CircleCI.Questions
I need an e-mail address to put in the committer field (currently it'semscripten nightly action <solidity@example.com>
).I have created amaster
branch in the repo and set it as the branch where the action adds new commits. Since there are external tools that rely on binaries hosted on GH pages, I think that it would be best to considergh-pages
frozen until we get S3 ready to serve the files instead and to work onmaster
in the meantime.master
branch. We'll keep updatinggh-pages
and just exclude files that go over the GH pages limit using jekyll config.