-
Notifications
You must be signed in to change notification settings - Fork 37.7k
ci: Nuke Android APK task, Use credits for tsan #27834
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
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
Concept ACK |
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.
ACK fa22538 - nuke it
I have only ever seen this task pass (even if all others fail) or fail intermittently.
It should be noted the primary role of the task is to check that a change doesn’t prevent us from building for android, a platform with 3 billion users and a platform that we care about building for. A manual check will be needed for build system changes to ensure that this compatibility is kept. can you show an example to back up this claim: "I have only ever seen this task pass (even if all others fail)..." - The android CI won't pass if we can't build core, if all other tests fail we can't build core (macOS 10.15 ci task for example). So this sounds impossible. |
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.
NACK
I'm not sure if the PR description counts as "many" issues.
If this task was failing intermittently all the time, why are there no issues posted about these intermittent failures occurring all the time, everywhere? We watch this task often in the QML repo and have never had it fail due to a network timeout.
It's great to speed up a task, and I wish all tasks could run as quickly as possible; that would be really great. But not at the expense of a check on building for a platform we want to support, with a massive user base, more than any other operating system in existence.
The potential to allow Android devices to participate in the network as full nodes is powerful. It's beautiful to enable a person in a part of the world where one only has an old Android phone to benefit from having a self-sovereign view of the network and their coins, to participate in the enforcement of the network rules, and to broadcast transactions in an unstoppable P2P manner directly from their device.
And, the changes to support Android are "surprisingly small and sensible", even in the QML repo as we've added the ability for it to run in the background as a process.
Android Tablet | Android Phone |
---|---|
This feels, in a small way, motivated by the want to remove the GUI by some. There seems to be an idea among a handful of us that all of our issues will be fixed if we rm -rf ./src/qt
. This isn't so, and maintenance of core will still involve headaches and work. All it does is remove a way for many to run a node, reducing the population and harming the demographic of those running nodes. I care about non-technical individuals being able to run core. I would hope others share the same sentiment.
Because no one reported them. But they do exist, if you grep for "Warning: An error occurred while preparing SDK package Android Emulator: Connection reset." For example, https://cirrus-ci.com/task/5766445213155328?logs=build#L2700
It only checks that it can build, and doesn't run any tests, so I hope the other tasks remain to run the tests.
I think this is a far stretch. I've never encouraged to remove the GUI and would strongly object the removal. What this does is remove the Android task from the CI config, nothing more. The CI env is explicitly kept, to be able to continue running the task outside. And in fact it is already running on a nightly basis on my nightly CI repo: https://cirrus-ci.com/task/5872120266227712 , along with other important to check tasks that have no place in this repo. Needless to say this is also no attempt to remove Android compatibility. I agree with you that this is an important platform and demographic to support. This is merely removing a task that is failing more often due to unrelated issues (network) than to indicate a useful result (true red CI). If you disagree it would be helpful to demonstrate or link to one instance where this task has caught or would have caught an issue. I don't feel too strongly, and I am happy to close this, but I think we should be having a discussion based on real data points and not feelings. |
@MarcoFalke withdrew NACK, I've misunderstood intentions and outcomes of this PR. It is true that right now outside of checking for build support, this doesn't do anything for this repo. |
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.
ACK fa22538
Agree with removing this task (which doesn't run any tests) to make room for a more useful task (which does run tests).
I think it should be fine to re-add this the next time it finds an issue, or when the (unit) tests are run, or some other reason appears to re-add it. |
Another failure on a doc change: https://cirrus-ci.com/task/5213373952950272?logs=ci#L1404
|
@jarolrod I can't find the PR this happened on and I've only seen that one time but I swear I'm not making this up. The macOS task has other build flags, so it must have been some weird combination of that and tests/lint failing but some builds succeeding. |
Github-Pull: bitcoin#27834 Rebased-From: fa22538
Github-Pull: bitcoin#27834 Rebased-From: fa22538
45a5fcb http: bugfix: track closed connection (stickies-v) 752a456 http: log connection instead of request count (stickies-v) ae86ada http: refactor: use encapsulated HTTPRequestTracker (stickies-v) f31899d gui: macOS, make appMenuBar part of the main app window (furszy) 64ffa94 gui: macOS, do not process dock icon actions during shutdown (furszy) e270f3f depends: fix unusable memory_resource in macos qt build (fanquake) a668394 build, macos: Fix `qt` package build with new Xcode 15 linker (Hennadii Stepanov) b3517cb test: Test loading wallets with conflicts without a chain (Andrew Chow) d63478c wallet: Check last block and conflict height are valid in MarkConflicted (Andrew Chow) 5e51a9c ci: Nuke Android APK task, Use credits for tsan (MarcoFalke) 910c362 test: ensure old fee_estimate.dat not read on restart and flushed (ismaelsadeeq) 37764d3 tx fees, policy: read stale fee estimates with a regtest-only option (ismaelsadeeq) 16bb916 tx fees, policy: do not read estimates of old fee_estimates.dat (ismaelsadeeq) c4dd598 tx fees, policy: periodically flush fee estimates to fee_estimates.dat (ismaelsadeeq) c36770c test: wallet, verify migration doesn't crash for an invalid script (furszy) 0d2a33e wallet: disallow migration of invalid or not-watched scripts (furszy) 2c51a07 Do not use std::vector = {} to release memory (Pieter Wuille) Pull request description: Further backports for the `25.x` branch. Currently: * #27622 * #27834 * #28125 * #28452 * #28542 * #28543 * #28551 * #28571 * bitcoin-core/gui#751 ACKs for top commit: hebasto: re-ACK 45a5fcb, only #28551 has been backported with since my recent [review](#28487 (review)). dergoegge: reACK 45a5fcb willcl-ark: reACK 45a5fcb Tree-SHA512: 0f5807aa364b7c2a2039fef11d5cd5e168372c3bf5b0e941350fcd92e7db4a1662801b97bb4f68e29788c77d24bbf97385a483c4501ca72d93fa25327d5694fa
9077f21 depends: fix unusable memory_resource in macos qt build (fanquake) dccacf0 build, macos: Fix `qt` package build with new Xcode 15 linker (Hennadii Stepanov) 4359649 ci: Switch to `amd64` container in "ARM" task (Hennadii Stepanov) 805f98b ci: Nuke Android APK task, Use credits for tsan (MarcoFalke) cb5512d test: ensure old fee_estimate.dat not read on restart and flushed (ismaelsadeeq) 01f8ee4 tx fees, policy: read stale fee estimates with a regtest-only option (ismaelsadeeq) 1c98029 tx fees, policy: do not read estimates of old fee_estimates.dat (ismaelsadeeq) 77979e0 tx fees, policy: periodically flush fee estimates to fee_estimates.dat (ismaelsadeeq) 67b6d99 Do not use std::vector = {} to release memory (Pieter Wuille) defdc15 ci: Use podman stop over podman kill (MarcoFalke) 7f1357d ci: Use podman for persistent workers (MarcoFalke) 0db69a3 ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN (MarcoFalke) Pull request description: Backports to the 24.x branch. Currently: * #27622 * #27777 * #27834 * #27844 * #27886 * #28452 * #28543 * #28571 ACKs for top commit: stickies-v: ACK 9077f21 Tree-SHA512: abaafc9a048b67b494993134fd332457ea52695ec007b963c283f962ec40c3b6b3a7e98407481be55d3271a595088a0281cc84b79dad4f24d260381ea0153076
The Android task has many issues:
Fix all issues by removing the task. Note that the CI env file is kept, so anyone can still run the Android CI.
Also, use the compute credits to promote tsan, a more useful task.