-
Notifications
You must be signed in to change notification settings - Fork 148
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
Make CIRCL runs on non-amd64 architectures. #121
Conversation
On s390x, running parallel tests overflows the stack.
Awesome! I'll check this tomorrow. I was checking out possibilities for not using vendor. What do you think of this proposal: golang/go#32966 ? We can also add a 32 architecture machine, now that we are it, as 'qemu-user-static' also supports arm32v6 and arm32v7... |
This PR does not requires to vendor anything.
There might be cases for which this could be helpful.
Yes, that can be included in a different workflow triggered with a special tag. I want the current workflow runs fast. |
I was referring to
Sure. Looking at the docs, seems like using if will help: https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif |
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.
Should we think about which architectures we want to test support for?
Most of the current code targets AMD64 architecture, and most of the algorithms provide generic implementations relying on stdlib, ( and this is one way to support other architectures). Testing on s390x allowed us to discover errors on our generic implementations without giving explicit support to s390x. So, I think testing on other architectures is good. The only downside is that CI takes longer to execute. |
Definitely ARM64. |
Motivation: The principal offender why CIRCL breaks on s390x was due to endianness ordering.
Changes:
GODEBUG='asyncpreemptoff=1'
removes this restriction.