-
Notifications
You must be signed in to change notification settings - Fork 20
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
Fix arch detection x86 64 #56
Conversation
Build for testing: |
if [[ "$runtime" =~ 80386 ]]; then | ||
architecture=i686 | ||
elif [[ $runtime =~ aarch64 ]]; then | ||
elif [[ "$runtime" =~ aarch64 ]]; then | ||
architecture=aarch64 | ||
elif [[ $runtime =~ EABI5 ]]; then | ||
elif [[ "$runtime" =~ EABI5 ]]; then | ||
architecture=armhf | ||
elif [[ $runtime =~ x86_64 ]]; then | ||
elif [[ "$runtime" =~ x86-64 ]]; then | ||
architecture=x86_64 |
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.
For the record, a case
statement would have made more sense. You can find a few examples in this repository.
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 a matter of taste. I find if/elif/else more explicit and easier to read.
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 don't see how it's more explicit, it just requires more syntax. And case
allows for matching more than one value more easily and more explicitly. Using regular expressions is a lot more complex than using fname style wildcard matching. Either way, as long as it works...
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.
The real question for me is, why do we have to do this at all, why can't we just use
type2-runtime/.github/workflows/build.yaml
Lines 29 to 34 in 4799cde
matrix: | |
include: | |
- appimage_arch: i686 | |
- appimage_arch: x86_64 | |
- appimage_arch: armhf | |
- appimage_arch: aarch64 |
I can only suspect that it has to do with the fact that environment variables are not visible inside Docker by default? (Something I don't like about Docker)
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 can only suspect that it has to do with the fact that environment variables are not visible inside Docker by default?
Nope. Not at all...?
How would you build otherwise? You need to tell GitHub what you want to accomplish. That's what the matrix is there for.
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.
Yes, so why don't we use those values but instead define them in the bash script by inspecting /bin/bash
? Would solve
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.
Which "those values"? You mean you'd prefer a solution that provides this value explicitly from the outside? Well, that's a tad more annoying because the data can actually be gathered from the environment, after all. I'd rather have a mapping in the script than have users provide it externally.
If it ever becomes too annoying, we can still rework it.
Related to #55.