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

Adds support for running integration tests against Airflow #1204

Merged

Conversation

saurav-c
Copy link
Contributor

Describe your changes and why you are making these changes

This PR adds initial support for running integration tests against Airflow. It has a setup script for starting a local Airflow instance. It also adds logic for manually copying the Airflow DAG file to the appropriate folder.

There is still follow on work that needs to be done before these tests can be run on Github actions:

Related issue number (if any)

ENG 2116

Tests

Ran the basic flow_test locally and uncovered the syncing bug.

Loom demo (if any)

Checklist before requesting a review

  • I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
  • I have performed a self-review of my code.
  • I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
  • If this is a new feature, I have added unit tests and integration tests.
  • I have run the integration tests locally and they are passing.
  • I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
  • All features on the UI continue to work correctly.
  • Added one of the following CI labels:
    • run_integration_test: Runs integration tests
    • skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@saurav-c saurav-c requested review from cw75 and kenxu95 April 12, 2023 23:13
@saurav-c saurav-c added the skip_integration_test Skips required integration test (only documentation/UI changes) label Apr 12, 2023
Copy link
Contributor

@kenxu95 kenxu95 left a comment

Choose a reason for hiding this comment

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

Looks good! Just a couple robustness concerns. Out of curiosity, how long does a full run take?

integration_tests/sdk/shared/flow_helpers.py Outdated Show resolved Hide resolved
integration_tests/sdk/shared/flow_helpers.py Show resolved Hide resolved
@saurav-c saurav-c force-pushed the eng-2116-get-sdk-integration-tests-working-with-airflow branch from 506e4bc to 7ecd07a Compare April 27, 2023 18:55
@saurav-c saurav-c requested a review from kenxu95 April 27, 2023 18:56
Copy link
Contributor

@kenxu95 kenxu95 left a comment

Choose a reason for hiding this comment

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

Cool, just a couple tiny nits.

integration_tests/sdk/shared/flow_helpers.py Show resolved Hide resolved
@@ -211,6 +234,12 @@ def delete_all_flows(client: aqueduct.Client) -> None:
else:
print("Successfully deleted workflow %s" % flow_name)

# Try deleting Airflow DAG file if it exists
# TODO - Only do this for Airflow workflows
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we make a task for this TODO?

@saurav-c saurav-c merged commit 9ef9a63 into main Apr 28, 2023
@saurav-c saurav-c deleted the eng-2116-get-sdk-integration-tests-working-with-airflow branch April 28, 2023 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip_integration_test Skips required integration test (only documentation/UI changes)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants