-
Notifications
You must be signed in to change notification settings - Fork 22
Way2js - Part 1 #164
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
Way2js - Part 1 #164
Conversation
Variant records are not really required and cannot be translated into Java/Javascript
The reference is not used as reference but always as value throughout the whole code. Value assignment make memory management easier for the compiler and allow targets which do not support references to elementary types, e.g. Javascript
I see that the - name: Push changes
run: git push origin HEAD:main for Linux binary release needs to be fixed, because pull requests report an error in the testing procedure. Unfortunately I don't have time for this right now... |
I am not familiar with the build system and I cannot see what the error actually is. |
Everything is OK with your PR, I didn't take this case into account, for now there is no reason to worry about this error. |
That job (action "Push to repository on success") could fail on various reasons. one of them can be that somebody updated the repo in the meantime while the build job was running (what is not anything unusual...). Btw. regarding CI - I'd be a bit more careful with automatic commits. Master branch is somewhat protected (at least from force push), but imagine what a broken build could do if branch protection is ever removed and someone changed Also, I would be careful with automatic committing compiled binaries to the repo (I see that started recently with e730f11) - there is a danger that the repo may start growing very fast since binaries are stored in GIT as they are (not as differences!). Note that compiled binaries are just artifacts which usefulness (besides milestones, like releases) is very short and the old ones are practically useless (and, if really needed, can be reproduced from older sources). At the moment, the contents of the repo is ~49MB (checked-out files), but the repo itself is already 222M large(!). Example of what may happen - at the moment, there are 2679 commits. Assuming that all 4 binaries (linux_x86_64, macosx_aarch64, macosx_x86_64, windows) would be stored and each commit would be followed by a I had an experience with some project where we had to store binaries (~15M per release) in GIT. After couple of years the repo grown to couple of hundreds of MB. The effect was as I described above (operations slowed down). I would suggest to commit only selected versions of binaries manually (if at all). If automatically - then only tagged and tested versions (like releases). Note that in practice, even in such case, committing binaries to the repo is usually not needed (binary artifacts are usually added separately to the release). Note also that, for developers, the binaries from the build are stored along with the build job (not in the GIT repo), eg. here: |
Probably we can use git filter-repo |
Why did you close without merging? |
Sorry, maybe I did it by accident while commenting... I didn't want to merge because those were changes that had to be accepted by TeBe. Maybe it happened now while trying to clean up history and reduce the repository by 130 mb? |
Hello tebe,
as discussed here the first part of the compatibility changes for the PAS2JS target.
Kind regards, Peter.