-
Notifications
You must be signed in to change notification settings - Fork 145
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
CI: Pin "ubuntu-20.04" et al. #970
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Themis currently does not support OpenSSL 3.0 officially. Ubuntu 22.04 has made the switch and we can't support it in default configuration. This is something to be worked on in Themis 0.15, I guess, but for that we need a working CI first. Roll back "ubuntu-latest" to "ubuntu-20.04".
While we're at it, pin macOS environment as well, along with Windows. This a tradeoff. Now we have a more stable environment, but when it breaks -- due to GitHub dropping support -- we won't have an easy way to roll it back.
Pass "matrix.os" value as environment variable to the scripts and use it to decide whether to probe Homebrew for OpenSSL 3 paths. This is necessary for OpenSSL 3.0 testing on Linux.
So here's the story. Themis does not (yet) support OpenSSL 3.0. There is an experimental flag to enable support, but we haven't tested it all too well. It probably works, but we aren't ready to sign off on that. Thus the build fails with OpenSSL 3.0 by default. Here's the situation with CI: - Ubuntu 20.04 has only OpenSSL 1.1.1 (which is the default) - Ubuntu 22.04 has only OpenSSL 3.0 (which is the default) - macOS can have both, using OpenSSL 1.1.1 if available, or failing the build otherwise. Make sure to test all these expectations. Note that most of the jobs are still running on Ubuntu 20.04 now. Ubuntu 22.04 is tested with OpenSSL 3.0 only for the core library.
ilammy
added
core
Themis Core written in C, its packages
infrastructure
Automated building and packaging
C-OpenSSL-3.0
Crypto provider: OpenSSL 3.0
labels
Nov 20, 2022
Update the Xcode to the current default for macOS 12. This is likely to be outdated by the next year lol, but the previous versions have served us well for years.
Well, looks like Xcode project needs to be updated to work with Xcode 14 on macOS 12. Also, Rust build is broken due to newer Clippy being more clippy. Those will be resolved in separate PRs. |
ilammy
added
O-macOS 💻
Operating system: macOS
O-Windows 🖥️
Operating system: Windows
labels
Nov 20, 2022
Lagovas
approved these changes
Nov 21, 2022
vixentael
approved these changes
Nov 21, 2022
carthage builds are failing expectedly |
Those are different errors than "the usual ones":
But I don't have an immediate solution for this :( |
radetsky
pushed a commit
that referenced
this pull request
Jan 19, 2023
* CI: Pin ubuntu-20.04 Themis currently does not support OpenSSL 3.0 officially. Ubuntu 22.04 has made the switch and we can't support it in default configuration. This is something to be worked on in Themis 0.15, I guess, but for that we need a working CI first. Roll back "ubuntu-latest" to "ubuntu-20.04". * CI: Pin macos-12 and windows-2022 While we're at it, pin macOS environment as well, along with Windows. This a tradeoff. Now we have a more stable environment, but when it breaks -- due to GitHub dropping support -- we won't have an easy way to roll it back. * CI: Use brew only in macOS builds Pass "matrix.os" value as environment variable to the scripts and use it to decide whether to probe Homebrew for OpenSSL 3 paths. This is necessary for OpenSSL 3.0 testing on Linux. * CI: Test Themis Core on Ubuntu 22.04 So here's the story. Themis does not (yet) support OpenSSL 3.0. There is an experimental flag to enable support, but we haven't tested it all too well. It probably works, but we aren't ready to sign off on that. Thus the build fails with OpenSSL 3.0 by default. Here's the situation with CI: - Ubuntu 20.04 has only OpenSSL 1.1.1 (which is the default) - Ubuntu 22.04 has only OpenSSL 3.0 (which is the default) - macOS can have both, using OpenSSL 1.1.1 if available, or failing the build otherwise. Make sure to test all these expectations. Note that most of the jobs are still running on Ubuntu 20.04 now. Ubuntu 22.04 is tested with OpenSSL 3.0 only for the core library. * CI: Update Xcode DEVELOPER_DIR Update the Xcode to the current default for macOS 12. This is likely to be outdated by the next year lol, but the previous versions have served us well for years.
radetsky
pushed a commit
that referenced
this pull request
Feb 13, 2023
* CI: Pin ubuntu-20.04 Themis currently does not support OpenSSL 3.0 officially. Ubuntu 22.04 has made the switch and we can't support it in default configuration. This is something to be worked on in Themis 0.15, I guess, but for that we need a working CI first. Roll back "ubuntu-latest" to "ubuntu-20.04". * CI: Pin macos-12 and windows-2022 While we're at it, pin macOS environment as well, along with Windows. This a tradeoff. Now we have a more stable environment, but when it breaks -- due to GitHub dropping support -- we won't have an easy way to roll it back. * CI: Use brew only in macOS builds Pass "matrix.os" value as environment variable to the scripts and use it to decide whether to probe Homebrew for OpenSSL 3 paths. This is necessary for OpenSSL 3.0 testing on Linux. * CI: Test Themis Core on Ubuntu 22.04 So here's the story. Themis does not (yet) support OpenSSL 3.0. There is an experimental flag to enable support, but we haven't tested it all too well. It probably works, but we aren't ready to sign off on that. Thus the build fails with OpenSSL 3.0 by default. Here's the situation with CI: - Ubuntu 20.04 has only OpenSSL 1.1.1 (which is the default) - Ubuntu 22.04 has only OpenSSL 3.0 (which is the default) - macOS can have both, using OpenSSL 1.1.1 if available, or failing the build otherwise. Make sure to test all these expectations. Note that most of the jobs are still running on Ubuntu 20.04 now. Ubuntu 22.04 is tested with OpenSSL 3.0 only for the core library. * CI: Update Xcode DEVELOPER_DIR Update the Xcode to the current default for macOS 12. This is likely to be outdated by the next year lol, but the previous versions have served us well for years.
radetsky
added a commit
that referenced
this pull request
Feb 15, 2023
* CI: Pin ubuntu-20.04 Themis currently does not support OpenSSL 3.0 officially. Ubuntu 22.04 has made the switch and we can't support it in default configuration. This is something to be worked on in Themis 0.15, I guess, but for that we need a working CI first. Roll back "ubuntu-latest" to "ubuntu-20.04". * CI: Pin macos-12 and windows-2022 While we're at it, pin macOS environment as well, along with Windows. This a tradeoff. Now we have a more stable environment, but when it breaks -- due to GitHub dropping support -- we won't have an easy way to roll it back. * CI: Use brew only in macOS builds Pass "matrix.os" value as environment variable to the scripts and use it to decide whether to probe Homebrew for OpenSSL 3 paths. This is necessary for OpenSSL 3.0 testing on Linux. * CI: Test Themis Core on Ubuntu 22.04 So here's the story. Themis does not (yet) support OpenSSL 3.0. There is an experimental flag to enable support, but we haven't tested it all too well. It probably works, but we aren't ready to sign off on that. Thus the build fails with OpenSSL 3.0 by default. Here's the situation with CI: - Ubuntu 20.04 has only OpenSSL 1.1.1 (which is the default) - Ubuntu 22.04 has only OpenSSL 3.0 (which is the default) - macOS can have both, using OpenSSL 1.1.1 if available, or failing the build otherwise. Make sure to test all these expectations. Note that most of the jobs are still running on Ubuntu 20.04 now. Ubuntu 22.04 is tested with OpenSSL 3.0 only for the core library. * CI: Update Xcode DEVELOPER_DIR Update the Xcode to the current default for macOS 12. This is likely to be outdated by the next year lol, but the previous versions have served us well for years. Co-authored-by: Oleksii Lozovskyi <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-OpenSSL-3.0
Crypto provider: OpenSSL 3.0
core
Themis Core written in C, its packages
infrastructure
Automated building and packaging
O-macOS 💻
Operating system: macOS
O-Windows 🖥️
Operating system: Windows
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So recently the microsoft gods have decided that
ubuntu-latest
will meanubuntu-22.04
for this repo. Sadly, we don't (officially) support Ubuntu 22.04 just yet because of OpenSSL 3.0 business. See:Roll back CI to using
ubuntu-20.04
explicitly. Pin other OSes while we're at it. Now if a build breaks because of the runner environment, this is likely because we have missed all the warnings and pleadings from GitHub, the runner is permanently unavailable and we must migrate. A different tradeoff compared to the current status quo when builds simply break one day because of an unexpected upgrade.Anyways. Additionally, do test
ubuntu-22.04
but only for one job, verifying Themis Core library with OpenSSL 3.0, setting all the necessary secret flags.Checklist
Changelog is updated(don't need anything, right?)