Skip to content

Fix build status report #1764

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

Merged
merged 4 commits into from
Jul 1, 2025
Merged

Fix build status report #1764

merged 4 commits into from
Jul 1, 2025

Conversation

jonsimantov
Copy link
Contributor

Description

Provide details of the change, and generalize the change in the PR title above.

Handle 401 Gone errors, and also increase retention time so logs last 90 days.


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

- Implemented exponential backoff and increased retries for API requests in `firebase_github.py`.
- Added specific handling for 410 errors when downloading artifacts, preventing retries for expired artifacts.
- Updated `report_build_status.py` to prioritize newer artifacts and added timeouts for downloads.
- Ensured the script falls back to reading GitHub logs if artifacts cannot be downloaded.
- Addressed missing dependencies: `python-dateutil`, `progress`, and `attrs`.
- Corrected the `--verbosity` flag usage.
Introduced two new environment variables in `integration_tests.yml`:
- `logArtifactRetentionDays` set to 90 days for log artifacts.
- `binaryArtifactRetentionDays` set to 7 days for binary artifacts (test apps, videos, etc.).

Updated all `actions/upload-artifact` steps to use the corresponding
environment variable for `retention-days` based on the type of artifact
being uploaded.

(Previous commit used snake_case; this commit corrects to camelCase
for consistency with existing `artifactRetentionDays` variable.)
@jonsimantov jonsimantov requested a review from a-maurice July 1, 2025 22:34
@@ -57,13 +57,15 @@ def set_repo_url(repo):

def requests_retry_session(retries=RETRIES,
backoff_factor=BACKOFF,
status_forcelist=RETRY_STATUS):
status_forcelist=RETRY_STATUS,
allowed_methods=frozenset(['GET', 'POST', 'PUT', 'DELETE', 'PATCH'])): # Added allowed_methods
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove the comment

session = requests.Session()
retry = Retry(total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist)
status_forcelist=status_forcelist,
allowed_methods=allowed_methods) # Added allowed_methods
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove the comment

Removed comments related to `allowed_methods` as they were deemed unnecessary.
Removed comments related to `allowed_methods` as they were deemed unnecessary.
@jonsimantov jonsimantov added the skip-release-notes Skip release notes check label Jul 1, 2025
@jonsimantov jonsimantov enabled auto-merge (squash) July 1, 2025 22:57
@jonsimantov jonsimantov merged commit fb725e9 into main Jul 1, 2025
32 of 46 checks passed
@github-actions github-actions bot added the tests: in-progress This PR's integration tests are in progress. label Jul 1, 2025
Copy link

github-actions bot commented Jul 1, 2025

Integration test with FLAKINESS (succeeded after retry)

Requested by @jonsimantov on commit fb725e9
Last updated: Tue Jul 1 18:43 PDT 2025
View integration test log & download artifacts

Failures Configs
analytics [TEST] [FLAKINESS] [iOS] [macos] [1/2 ios_device: ios_target]
(1 failed tests)  CRASH/TIMEOUT
firestore [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/2 android_device: emulator_ftl_target]
(1 failed tests)  CRASH/TIMEOUT
gma [TEST] [FLAKINESS] [Android] [1/3 os: macos] [1/2 android_device: android_target]
(2 failed tests)  FirebaseGmaTest.TesInterstitialAdErrorAlreadyInitialized
  FirebaseGmaTest.TestAdViewLoadAdEmptyAdRequest
messaging [TEST] [FLAKINESS] [Android] [1/3 os: ubuntu] [1/2 android_device: android_target]
(1 failed tests)  FirebaseMessagingTest.TestSendMessageToToken

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions bot added the tests: succeeded This PR's integration tests succeeded. label Jul 2, 2025
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Jul 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-release-notes Skip release notes check tests: succeeded This PR's integration tests succeeded.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants