-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Better intellij dev experience #28817
Conversation
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
Tagging @alafanechere - this completes the circle 🟢! |
@edgao so like... does it work? Can we get a loom of you using it?
|
destination-snowflake test report (commit
|
Step | Result |
---|---|
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
Build connector tar | ✅ |
Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
Build airbyte/normalization-snowflake:dev | ✅ |
./gradlew :airbyte-integrations:connectors:destination-snowflake:integrationTest | ✅ |
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=destination-snowflake test
https://www.loom.com/share/69e8677d903d48d6821939b2e1cd96ea it does run successfully, but I think airbyte-ci isn't actually caching successfully on my laptop. Ran it twice in succession and it took >9 minutes both times (nearly 10 minutes on the first run). the old airbyteDocker was significantly faster, but I think that's a bit misleading - it also wasn't reliably building new images, so I was manually running airbyte-ci before tests anyway. I.e. I think this is still an improvement for local dev. I'll try and find a way to disable this on CI for now. The CI test run on this branch took about 10 minutes longer to run |
also, if you want to try this out locally - if you haven't rebooted since switching to the poetry-based airbyte-ci install:
otherwise you might get weird issues where they can't find airbyte-ci |
destination-snowflake test report (commit
|
Step | Result |
---|---|
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
Build connector tar | ✅ |
Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
Build airbyte/normalization-snowflake:dev | ✅ |
./gradlew :airbyte-integrations:connectors:destination-snowflake:integrationTest | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=destination-snowflake test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great and a first nice step in sunsetting airbyteDocker
right?
Please note my comment; LGTM otherwise.
Would we want to handle the airbyte-ci
installation from gradle
? (might be overkill ATM for local gradle execution)
When |
I don't think this is mergeable until dagger/gradle (idk which) caching works better :/ Intellij runs maybe we should have or maybe we should just delete airbyteDocker completely? and tell developers to manually run airbyte-ci before running tests from intellij. I think that's basically what we have today, except without the "sometimes intellij automatically builds the docker images, but extremely unreliably" behavior |
@edgao I think we can keep this task fast when nothing has changed if we modify the |
I dropped the uptodate check entirely b/c I thought airbyte-ci would handle it 🤦 I never quite figured out what the imageToHash thing actually does, and suspect it over and/or undercaches things... maybe gradle has something for "run this task only if compileJava did anything"? Which probably works >95% of the time (i.e. it misses changes to shell scripts/etc, but we basically never change those files anyway, and we can always come back to this)) |
airbyteDocker now explicitly declares (confirmed locally that running tests twice in a row skips airbyteDocker correctly) |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
connectors base build failed on CI:
but no other information :( will keep poking at this |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
uhhhh I'm going to just remove the connectors from the connectors_base sub build. settings.gradle claims they're only needed for normalization integration tests, which we're not running anymore. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
destination-bigquery test report (commit
|
Step | Result |
---|---|
Validate airbyte-integrations/connectors/destination-bigquery/metadata.yaml | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
Build connector tar | ✅ |
Build destination-bigquery docker image for platform linux/x86_64 | ✅ |
Build airbyte/normalization:dev | ✅ |
./gradlew :airbyte-integrations:connectors:destination-bigquery:integrationTest | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=destination-bigquery test
destination-snowflake test report (commit
|
Step | Result |
---|---|
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
Build connector tar | ✅ |
Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
Build airbyte/normalization-snowflake:dev | ✅ |
./gradlew :airbyte-integrations:connectors:destination-snowflake:integrationTest | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=destination-snowflake test
I'm sure there's more cleanup that could happen in the plugin file. But presumably we want to just nuke the entire airbyteDocker plugin eventually, so not going to bother.
airbyteDocker now explicitly declares
build/distributions
as an input directory, which I believe is what most (all?) java connectors copy into their docker image. This probably misses a few edge cases, but given that this only matters for running locally in intelllij - I think that's OK.(confirmed locally that running tests twice in a row skips airbyteDocker correctly)