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

[DAR-3431][External] Adding passing E2E tests as a requirement to release #903

Merged
merged 3 commits into from
Aug 20, 2024

Conversation

JBWilkie
Copy link
Collaborator

Problem

We've recently had a couple annotation import bugs that would have been caught by E2E tests. However:

  • The Slack bot we have configured to notify us of failing nightly E2Es is broken
  • Passing E2Es are not a requirement to release new darwin-py versions

Solution

This PR:

  • 1: Fixes the Slack bot that notifies us when nightly E2E runs fail
  • 2: Introduces an E2E test run that needs to pass during the release process for it to succeed

Changelog

Introduced a requirement for E2E tests to pass before new darwin-py versions can be released

Copy link

linear bot commented Aug 20, 2024

@@ -7,6 +7,7 @@ on:
pull_request:
paths:
- "e2e_tests/**"
workflow_call:
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Need this trigger to allow it to be called during the release event

@@ -957,7 +957,7 @@ def import_annotations( # noqa: C901

def import_annotation(parsed_file):
image_id = remote_files[parsed_file.full_path]["item_id"]
default_slot_name = remote_files[parsed_file.full_path]["slot_names"]
default_slot_name = remote_files[parsed_file.full_path]["slot_names"][0]
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Bonus bug fix when importing annotation files that don't specify a slot name. This is one of the bugs we would have caught with E2E failures

Comment on lines 49 to +60
if: failure() && github.event_name == 'schedule'
runs-on: ubuntu-latest
steps:
- name: Notify Slack
uses: ./.github/workflows/JOB_slack_message.yml
with:
secrets: inherit
icon: ":warning:"
at_team: true
message: |
*Nightly E2E run failed*

:link:
- https://github.com/v7labs/darwin-py/actions/runs/${{ github.run_id }}
:warning: ${{ github.workflow }} failed.
uses: ./.github/workflows/JOB_slack_message.yml
with:
message: |
*Nightly E2E run failed*

:link:
- https://github.com/v7labs/darwin-py/actions/runs/${{ github.run_id }}
:warning: ${{ github.workflow }} failed.
icon: ":warning:"
at_team: true
secrets: inherit
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This part calls the slack message job as a job instead of an action. I'm not sure how this ever used to work, since as far as I can tell this should only ever work if called as a job

I'm not sure how this ever used to work

@JBWilkie JBWilkie merged commit baf38f0 into master Aug 20, 2024
23 checks passed
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