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

Relax dependencies constraints from old versions #5

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bernardeli
Copy link

@bernardeli bernardeli commented Oct 18, 2023

Hello maintainers 👋

I'm creating a connector for Lookout, a care management platform in Australia.

I'd like to have workato code coming through the cli rather than using the UI. We currently have 104 endpoints in our API, due to grow a few more endpoints soon.

In order to maintain 1-to-1 parity between workato connector and our API, the best shot we have is to have workato SDK gem sitting alongside our main project.

Unfortunately for us, the gem locks the dependencies. Two examples that clashed are activesupport (gem is at v5, we run on rails 7 (latest)), and aws-sigv4 (locked at 1.2.4, we're running on 1.6.0 (latest)).

I've relaxed all the others, too.

I'd rather pull the gem from official channels rather than maintain our own version of it.

Is any part of the code that depends directly on these locked versions? If so, can it be updated?

Happy to lend a hand if needs to update some parts of it, though I have very little understanding of its internals.

Cheers
Ricardo

@pavel-workato
Copy link
Contributor

Hey @bernardeli!

Workato app and legacy SDK are itself ruby apps, which have long list of its own dependencies that ultimately form the behaviour of Connectors SDK. In this SDK emulator gem being strict and use older versions of dependencies means being compatible with Workato legacy SDK as much as possible. Differences in versions may result in slightly different behaviour in very edge cases and make emulator less compatible.

Unfortunately for us, the gem locks the dependencies. Two examples that clashed are activesupport (gem is at v5, we run on rails 7 (latest)), and aws-sigv4 (locked at 1.2.4, we're running on 1.6.0 (latest)).

We prefer to use less strict constraints for more stable and solid gems, however we do know that ActiveSupport 7 is not compatible with legacy SDK now.

I'd like to have workato code coming through the cli rather than using the UI.

If the only purpose of using the gem is workto push command, maybe it makes sense to not include the gem into your main app's Gemfile but do gem install workato-connector-sdk as one of CI/CD step.

Is any part of the code that depends directly on these locked versions? If so, can it be updated?

Yes, unfortunately it is main workato app. The gem itself follow versions of main app to avoid unexpected incompatibilities.
We're working on upgrading dependencies in main app therefore port them to SDK gem, but due to amount of custom connectors it is going relatively slow.

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

Successfully merging this pull request may close these issues.

2 participants