Skip to content
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

Support non-Unix OS #297

Open
abstractionfactory opened this issue Sep 27, 2024 · 4 comments
Open

Support non-Unix OS #297

abstractionfactory opened this issue Sep 27, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@abstractionfactory
Copy link

abstractionfactory commented Sep 27, 2024

Hey folks, thank you for your work on this library. The documentation currently states that only Unix-like operating systems are supported, which seems to really only apply to the Makefile and other examples, but not for the library itself. The stated go run example passes without issues on Windows. In addition, the GitHub Actions workflows already seem to be running on Windows.

Officially supporting non-Unix operating systems would make it easier for cross-platform tools to adopt this library as a means of verification. For example, an explicit statement that only Unix operating systems are supported would likely block opentofu/opentofu#307 from even being considered.

On a similar note, there is currently no statement about supporting 32 bit operating systems and GHA is also not running tests on 32 bit.

@haydentherapper
Copy link
Contributor

Hey @abstractionfactory, there should be no limitations I'm aware of for using sigstore-go on other operating systems. We can add tests though.

@abstractionfactory
Copy link
Author

@haydentherapper thanks for the clarification. I believe, tests on 386 would be nice to have as that's something that presented an issue in OpenTofu for a while. It would also be nice to change the language in the README to make it explicit that non-Unix OS are supported.

@steiza
Copy link
Member

steiza commented Sep 27, 2024

We're constrained here a little bit by what GitHub offers for runners, which I don't think includes any x86 architectures.

We do currently run tests on Windows:

os: [macos-latest, ubuntu-latest, windows-latest]

Maybe I'm not fully thinking through this, but go's toolchain has pretty robust support for 386, and I'm not sure what sort of scenario would lead to it working on a platform for amd64 but not 386.

For other platforms, like Solaris, I would want to have some way to run regular tests before making any promises!

@abstractionfactory
Copy link
Author

@steiza unfortunately, as we discovered, it's not enough to rely on Go because large hard coded numbers can cause overflows, etc. See for example opentofu/opentofu#1266 which blocked us from being stable on Alpine for quite a while. We solved the testing issue on GHA by using the setup-qemu-action for emulation.

Regarding Solaris, I think it would be enough if there's a willingness to merge PRs related to these platforms, we don't have a Solaris system to test on either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants