-
Notifications
You must be signed in to change notification settings - Fork 149
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
chore: add flaky retry in weekly CI #662
chore: add flaky retry in weekly CI #662
Conversation
fbee1a7
to
e25ceff
Compare
@@ -936,7 +952,7 @@ jobs: | |||
needs: [build-linux] | |||
runs-on: ubuntu-20.04 | |||
timeout-minutes: 2 | |||
if: ${{ always() }} | |||
if: success() || failure() |
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.
avoid running this if all previous jobs are skipped
- name: PyTest (no flaky) with PyPI local wheel of Concrete ML (release) | ||
# Run Pytest on all of our tests (except flaky ones) using PyPI's local wheel in the weekly | ||
# or during the release process | ||
- name: PyTest (no flaky) with PyPI local wheel of Concrete ML (weekly, release) |
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.
avoid flaky tests in weekly tests with pypi as well (felt redundant)
2460879
to
e5be845
Compare
|
18601fb
to
f234521
Compare
@@ -60,12 +58,6 @@ on: | |||
type: boolean | |||
required: false | |||
default: false | |||
|
|||
schedule: |
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.
moved to the new weekly_tests.yaml
f4ec792
to
6e86840
Compare
IS_WEEKLY: ${{ github.event_name == 'schedule' || ((github.event_name == 'workflow_dispatch') && (inputs.event_name == 'weekly')) }} | ||
# Run the weekly CI if it has been triggered manually by the weekly workflow, meaning | ||
# 'inputs.event_name' is set to "weekly" | ||
IS_WEEKLY: ${{ inputs.event_name == 'weekly'}} |
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.
now weekly CIs are only triggerd by the new weekly_tests.yaml
CI
@@ -147,7 +144,7 @@ jobs: | |||
# Manage instance type | |||
INSTANCE_TYPE="c5.4xlarge" | |||
if [[ "${BUILD_TYPE}" == "weekly" ]]; then | |||
INSTANCE_TYPE="m6i.metal" | |||
INSTANCE_TYPE="m6i.16xlarge" |
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.
as for the release, m6i.metal
started to be less available then before
) | ||
&& steps.conformance.outcome == 'success' | ||
&& !cancelled() | ||
shell: bash +e {0} | ||
run: | | ||
make pytest_and_report | ||
if [[ "${{ env.IS_WEEKLY }}" == "true" ]]; 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.
run weekly tests in weekly CIs, but keep the same flaky re-run
system
@@ -951,20 +961,8 @@ jobs: | |||
exit 1 | |||
fi | |||
|
|||
- name: Slack Notification |
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.
keep a single slack notif at the end of the whole CI
- name: PyTest Source Code | ||
run: | | ||
make pytest_macOS_for_GitHub | ||
|
||
decide-slack-report: |
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.
only report on slack :
- weekly CIs
- push to main/release branch CIs
we can discuss about it but I feel it's a bit useless to report all regular CIs on slack as it makes things very verbose and not very easy to follow
for linux_python_version in ${LINUX_PYTHON_VERSIONS}; do | ||
file_name="failed_tests_slack_list_${linux_python_version}.txt" | ||
|
||
if [ -f ${file_name} ]; 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.
print flaky tests that got re-run if they were some in the slack notification
@@ -0,0 +1,22 @@ | |||
name: Weekly 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.
new workflow that only handles weekly CIs, which run:
- each sunday night
- on demand using GH's interface
we will be able to find all weekly CI's status history much more easily (weeklys won't be mixed up with regular CIs)
@@ -724,7 +735,8 @@ jobs: | |||
poetry run python ./script/actions_utils/pytest_failed_test_report.py \ | |||
--pytest-input-report "pytest_report.json" \ | |||
--failed-tests-report "failed_tests_report.json" \ | |||
--failed-tests-comment "failed_tests_comment.txt" | |||
--failed-tests-comment "failed_tests_comment_${{ matrix.python_version }}.txt" | |||
--failed-tests-list "failed_tests_slack_list_${{ matrix.python_version }}.txt" |
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.
write the list of failed tests that will later be used for reporting in slack flaky tests that got re-run within a weekly CI
Coverage passed ✅Coverage details
|
Clean the weekly CI :
refs https://github.com/zama-ai/concrete-ml-internal/issues/4030
refs https://github.com/zama-ai/concrete-ml-internal/issues/4428
closes https://github.com/zama-ai/concrete-ml-internal/issues/4390