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

11815 New github action to test projects that depend on the project being changed #15783

Merged
merged 4 commits into from
Aug 25, 2022

Conversation

suhomud
Copy link
Contributor

@suhomud suhomud commented Aug 19, 2022

What

New github action to test projects that depend on the project being changed

How

  • It used git diff to compare created branch with master.
  • The connector considered as changed only if it's files changed in /airbyte-integrations/connectors/src/main/ or it's build.gradle file was updated
  • It used python script to go through every connector under the /airbyte-integrations/connectors/ directory and parse the build.gradle files to see if a connector depends on the updated connector.
  • It will report which integration tests should be executed in PR comments.
    For example:

Screenshot 2022-08-19 at 13 03 53

Recommended reading order

  1. x.java
  2. y.python

🚨 User Impact 🚨

No user impact

@suhomud suhomud temporarily deployed to more-secrets August 19, 2022 05:57 Inactive
@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • destination-bigquery-denormalized
  • destination-bigquery
  • destination-gcs
  • destination-snowflake

@suhomud suhomud temporarily deployed to more-secrets August 19, 2022 06:00 Inactive
@suhomud suhomud marked this pull request as ready for review August 19, 2022 06:05
@suhomud suhomud requested a review from a team as a code owner August 19, 2022 06:05
@suhomud suhomud linked an issue Aug 19, 2022 that may be closed by this pull request
@suhomud
Copy link
Contributor Author

suhomud commented Aug 22, 2022

NOTE: I'll remove this change https://github.com/airbytehq/airbyte/pull/15783/files#diff-76d8a8b5d7069ee4ae2863e3e5db859b33d5e099ed367e958ace9ad8e0be0d55R54
After final approval. This change is for showing GitHub action report

tools/bin/ci_check_dependency.py Show resolved Hide resolved
tools/bin/ci_check_dependency.py Outdated Show resolved Hide resolved
@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • destination-bigquery
  • destination-gcs
  • destination-bigquery-denormalized
  • destination-snowflake

@suhomud suhomud temporarily deployed to more-secrets August 23, 2022 10:02 Inactive
@suhomud
Copy link
Contributor Author

suhomud commented Aug 23, 2022

@grishick @tuliren,

I did update for this one. So now it works in this way:

  • git diff will return result for airbyte-integrations/bases airbyte-integrations/connectors folders only
  • script will filter files which are in IGNORE_LIST like tests folders (unit, integration) for Java and Python and some common files like README.md and cetera. NOTE: Please review IGNORE_LIST Mayme I missed something which can be ignored
  • then it checks all connectors build.gradle file if it contains affected modules.

Check 1

Here I made changes in airbyte-integrations/connectors/destination-gcs and airbyte-integrations/bases/debezium-v1-9-2
Screenshot 2022-08-23 at 15 34 55
debezium-v1-9-2 -> source-mysql, source-postgres
Screenshot 2022-08-23 at 17 21 39

destination-gcs -> destination-snowflake, destination-bigquery-denormalized, destination-gcs, destination-bigquery
Screenshot 2022-08-23 at 17 20 44

Check 2

Script found 40 dependencies if I'll change airbyte-integrations/bases/standart-destination-test module:
Screenshot 2022-08-23 at 16 54 38
The same result I have for manual search:
Screenshot 2022-08-23 at 16 53 32

@github-actions github-actions bot removed the area/connectors Connector related issues label Aug 23, 2022
@suhomud suhomud temporarily deployed to more-secrets August 23, 2022 10:34 Inactive
Copy link
Contributor

@grishick grishick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job! This is going to be so useful!

@suhomud suhomud merged commit c402264 into master Aug 25, 2022
@suhomud suhomud deleted the suhomud/11815_report_depended_connectors6 branch August 25, 2022 03:00
rodireich pushed a commit that referenced this pull request Aug 25, 2022
…eing changed (#15783)

* 11815 New github action to test projects that depend on the project being changed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automatically test projects that depend on the project being changed
4 participants