julia-actions / setup-julia

This action sets up a Julia environment for use in actions by downloading a specified version of Julia and adding it to PATH.
MIT License
93 stars 23 forks source link

If the user does not specify the `arch` input, default to `${{ runner.arch }}` (instead of defaulting to `x64`) #114

Closed DilumAluthge closed 2 years ago

DilumAluthge commented 2 years ago

@SaschaMann Would you consider this to be a breaking change? Or could we feasibly argue that this is a bug fix?

SaschaMann commented 2 years ago

x64 Julia binaries on, e.g., an aarch64 runner wouldn't work at all, would they?

I'd not consider it a breaking change because I can't think of any situation where this would break a build that previously worked.

DilumAluthge commented 2 years ago

x64 Julia binaries on, e.g., an aarch64 runner wouldn't work at all, would they?

Well, if you are on macOS aarch64, and you download an x86_64 binary, you can run that binary using Rosetta 2.

SaschaMann commented 2 years ago

you can run that binary using Rosetta 2.

Does it do that automatically? The action runs julia --version, would that work using Rosetta 2 or would it fail?

(I know nothing about macOS)


That said, it would only affect self-hosted runners which are somewhat unsupportedish and I think we could feasibly make the argument that a default of x64 on aarch64 runners was a bug to begin with since that seems like a special case rather than what you'd reasonably expect to be the default case.

DilumAluthge commented 2 years ago

Does it do that automatically? The action runs julia --version, would that work using Rosetta 2 or would it fail?

I checked with Elliot, and he confirmed that yes, it will automatically use Rosetta 2.

DilumAluthge commented 2 years ago

Yeah, I think we can justify this PR as a bug fix with the argument you made above:

a default of x64 on aarch64 runners was a bug to begin with