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

Fix build for Ruby 2.7+ and add arm64 variants #290

Merged
merged 4 commits into from
Jun 28, 2023

Conversation

chadlwilson
Copy link
Contributor

@chadlwilson chadlwilson commented Jun 26, 2023

Fixes #287
Fixes #289

This PR's main goal was to add arm64 builds of the gems.

However there was a lot of cruft required to get there, so it

  • Adds arm64 builds for Mac/Windows/Linux
  • [BREAKING] Drops 32-bit builds.
  • [BREAKING] Upgrades baseline Ruby requirement to 2.7.x, which is recently EOL.
  • Upgrades so it should also support Ruby 3.0 to 3.2 or at least not cause issues with other Gems that use parser and unparser
  • Upgrades all dependencies, removes unnecessary os dependency from runtime usage
  • Upgrades golang 1.13 -> 1.20.5 for security reasons, and to support arm64 builds.
  • Corrects builds/tests to work against modern Go (most have a module, can't have two main() files in same package)
  • Runs builds against
    • Ruby 2.7 (Ruby 2.6 is EOL a long way back, 2.7 has been EOL for a couple of months...)
    • Java 17 LTS (Java 12 was a non LTS build and is years past EOL)

Apologies for the big joined together first commit which does multiple things. I can probably break it apart into the "fix build" stuff and the "add arm64+upgrade golang" stuff if valuable.

Also
- upgrades golang to latest (1.20.x). 1.13 is ancient and cannot build for arm64 on most platforms. Newer versions have dropped 32-bit support for some platforms as well.
- Corrects builds/tests to work against modern Go
- Upgrades most other dependencies
- Fixes issue with Windows builds running wrong commit version

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
gauge-ruby 0.5.4 does seem to work fine on Ruby 2.7 through 3.2, however use of some language features might not work properly between specs and implementations, and the dependency ranges may prevent folks from upgrading other tools (e.g rubocop)

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
@chadlwilson chadlwilson force-pushed the master branch 2 times, most recently from 6ca081f to 7faaf93 Compare June 27, 2023 15:02
gauge-ruby has been licensed under Apache 2.0 since 2020 in getgauge#182

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
Runtime usage of this appears to have been removed a long time ago, seems only used in tests now.

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
@chadlwilson chadlwilson added enhancement major dependencies Pull requests that update a dependency file ReleaseCandidate labels Jun 27, 2023
@gaugebot
Copy link

gaugebot bot commented Jun 28, 2023

@chadlwilson Thank you for contributing to gauge-ruby. Your pull request has been labeled as a release candidate 🎉🎉.

Merging this PR will trigger a release.

Please bump up the version as part of this PR.

Instructions to bump the version can found at CONTRIBUTING.md

If the CONTRIBUTING.md file does not exist or does not include instructions about bumping up the version, please looks previous commits in git history to see what changes need to be done.

@sriv sriv merged commit 7eae66b into getgauge:master Jun 28, 2023
chadlwilson added a commit to getgauge/gauge-repository that referenced this pull request Jun 28, 2023
…builds and removal of x86

See getgauge/gauge-ruby#290

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement major ReleaseCandidate
Development

Successfully merging this pull request may close these issues.

Tag new release for gem upgrades Produce builds for arm64
2 participants