Skip to content

[HOLD for payment 2024-07-24] Verify Podfile action is flaky #45220

Closed

Description

@mountiny

Problem

On some PRs, we have noticed a Verify Podfile action failing with illegitimate reasons. For example this one. This is causing a slowdown in development.

The error is:

script: tcgetattr/ioctl: Operation not supported on socket

Solution

Solve this flakiness and fix the actions.

Issue OwnerCurrent Issue Owner: @mountiny

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jul 10, 2024
  2. self-assigned this
    on Jul 10, 2024
  3. melvin-bot commented on Jul 10, 2024

    @melvin-bot

    Triggered auto assignment to @garrettmknight (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  4. mountiny commented on Jul 10, 2024

    @mountiny
    ContributorAuthor

    @fabioh8010 has got a fix for this hopefully

  5. mountiny commented on Jul 10, 2024

    @mountiny
    ContributorAuthor

    @fabioh8010 while we try to merge your fix fast, do you think you could (or someone from your team) still explore how to fix this while maintaining the colouring of the output? I assume that is a nice-to-have thing to improve DX

  6. kabeer95 commented on Jul 12, 2024

    @kabeer95

    Proposal: Fix Flaky Podfile Action

    Problem Statement: The Podfile action is flaky, resulting in inconsistent behavior and errors.

    Root Cause: The root cause of the problem is that the loginList data in ContactMethodsPage contains unnecessary login data with partnerName: "chat-expensify-com", which is not needed in this page.

    Changes to Solve the Problem: To solve the problem, I propose the following changes:

    Create a Login List Selector Create a login list selector that removes the unnecessary login data with partnerName: "chat-expensify-com" and use it in ContactMethodsPage.

    Code Changes:

    // Create a login list selector
    const loginListSelector = (data) => {
    return Object.fromEntries(
    Object.entries(data).filter(([key, value]) => value.partnerName !== 'chat-expensify-com')
    );
    };

    // Use the selector in ContactMethodsPage
    loginList: {
    key: ONYXKEYS.LOGIN_LIST,
    selector: loginListSelector,
    },
    Alternative Solutions Explored:

    Use Partner ID to Filter: Instead of using partnerName !== 'chat-expensify-com' to filter the login data, we can use partnerID if this property is available. This approach may be more robust and flexible.
    By implementing this solution, we should be able to fix the flaky Podfile action and ensure consistent behavior in ContactMethodsPage

  7. fabioh8010 commented on Jul 15, 2024

    @fabioh8010
    Contributor

    @fabioh8010 while we try to merge your fix fast, do you think you could (or someone from your team) still explore how to fix this while maintaining the colouring of the output? I assume that is a nice-to-have thing to improve DX

    Sure, I will continue investigations on this 🫡

    One question: Do you think we need this colouring of the patch-package result on the CI too?

  8. added
    Awaiting PaymentAuto-added when associated PR is deployed to production
    and removed on Jul 17, 2024
  9. changed the title [-]Verify Podfile action is flaky[/-] [+][HOLD for payment 2024-07-24] Verify Podfile action is flaky[/+] on Jul 17, 2024
  10. melvin-bot commented on Jul 17, 2024

    @melvin-bot

    Reviewing label has been removed, please complete the "BugZero Checklist".

  11. melvin-bot commented on Jul 17, 2024

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.7-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2024-07-24. 🎊

  12. melvin-bot commented on Jul 17, 2024

    @melvin-bot

    BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

    • [@mountiny] The PR that introduced the bug has been identified. Link to the PR:
    • [@mountiny] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
    • [@mountiny] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
    • [@mountiny] Determine if we should create a regression test for this bug.
    • [@mountiny] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
    • [@garrettmknight] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:
  13. fabioh8010 commented on Jul 17, 2024

    @fabioh8010
    Contributor

    @mountiny PR is up -> #45615

  14. melvin-bot commented on Jul 24, 2024

    @melvin-bot

    Skipping the payment summary for this issue since all the assignees are employees or vendors. If this is incorrect, please manually add the payment summary SO.

  15. garrettmknight commented on Jul 24, 2024

    @garrettmknight
    Contributor

    @mountiny we good to close this yeah?

  16. mountiny commented on Jul 25, 2024

    @mountiny
    ContributorAuthor

    all good now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ReviewingHas a PR in review

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions