-
Notifications
You must be signed in to change notification settings - Fork 69
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
Add integration tests for arm64 #555
Conversation
3d61844
to
aa8d189
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 think once the OS fields have both values the action will work as expected. 👍
Since i've just pushed our new |
Ok @dharmit - I put some more dots together here in this puzzle for us. |
They don't mention arm64 in containerized runners section. All occurrences of arm64 are under the "Non-Containerized Org-Level Runners (VMs and Bare Metal Instances)" section. 🤔 Also that doc doesn't mention "ubuntu-latest" anywhere, and yet we are using it in our tests. |
I think we just need to try: https://github.com/rancherlabs/eio/wiki/GitHub-Actions-Runners#containerized-org-level-runners And I suspect that they have arm ones ready to go? |
5855019
to
2f9f0e6
Compare
@dharmit - Disregard my suggestion to use a new CI file, I've worked with EIO to get this repo access to non-container runners. This provides us a much more direct drop-in replacement for the GHA runners. With those setup I was able to tweak this PR to use those runners for both arm and amd64 without major changes. |
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.
Still have some changes to be made before this works, I will leave these for you to resolve though now that we know the runners are sorted out and working. 😄
Might have to run workflows as debug to get additional logging. Looks like we're getting close but now seeing a new error related to no ARCH set and go binary missing. |
I think the two are related because ARCH=$TARGET_ARCH
if [ -z "$ARCH" ]; then
ARCH=$(go env GOHOSTARCH)
fi Since go binary isn't available, both problems are popping up. Let me try to install go. |
set -x | ||
|
||
GO_VERSION=1.22.0 | ||
ARCH=`uname -i` |
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.
Please use uname -m
instead. -i
isn't supported on macOS and is documented as non-portable on ubuntu. As much as I can tell, they do the same thing.
GO_VERSION=1.22.0 | ||
ARCH=`uname -i` | ||
|
||
if [ $ARCH -eq "x86_64" ]; then |
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.
It's clearer to set PLATFORM=amd64|arm64
in a separate case
block to avoid duplicating a long command.
But you should probably set this in ci.yaml
and set the variables if they're unset so .github/scripts/X
can still be run outside GHA, mostly for testing/dev purposes.
@@ -0,0 +1,16 @@ | |||
#!/bin/bash | |||
|
|||
set -e |
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.
Instead do
set -eu
set -x
where the set -x
could get dropped at a later date. And our scripts should always fail on unset vars
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 would drop the entire install-go.sh
file and replace it by running actions/setup-go
in ci.yaml
Also see how we deal with the two different ways of naming the amd architecture in webhook/.../ci.yaml
. And I would then try to pass a value for ARCH
to install-mc.sh
and for TARGET_ARCH
for ./scripts/integration
31c8cb7
to
2e3990a
Compare
Signed-off-by: Dharmit Shah <[email protected]>
Thanks. I wasn't aware of it. 👍🏽
I haven't made any changes that you suggested here. And, I think, it didn't cause any trouble because go installation happened before we run integration tests. |
/backport NONE release/v5.0 |
Add integration tests for arm64 (cherry picked from commit 67af72e)
Add integration tests for arm64 (cherry picked from commit 67af72e)
Add integration tests for arm64 (cherry picked from commit 67af72e)
No description provided.