ci: Temporarily disable bpfcc-tools #29788

pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2404-ci-bcfcc- changing 1 files +1 −1
  1. maflcko commented at 2:21 pm on April 2, 2024: member

    This works around package install errors, such as https://github.com/bitcoin/bitcoin/runs/23354020361. Should be possible to reproduce locally via apt update && apt install bpfcc-tools on noble:

    0 python3-bpfcc : Depends: libbpfcc (>= 0.29.1+ds-1ubuntu4) but it is not going to be installed
    
  2. ci: Temporarily disable bpfcc-tools fac012c726
  3. DrahtBot commented at 2:21 pm on April 2, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto, TheCharlatan

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  4. DrahtBot added the label Tests on Apr 2, 2024
  5. maflcko commented at 3:15 pm on April 2, 2024: member
    (moved to description)
  6. hebasto approved
  7. hebasto commented at 7:23 pm on April 2, 2024: member
    ACK fac012c7262f036e9b6f5800e57dcd63870a871c, I have reviewed the code, it looks OK. And CI is green.
  8. achow101 commented at 8:12 pm on April 2, 2024: member
    Disabling bpfcc-tools means that CI no longer runs any of the USDT tests. Any idea when it could be re-enabled?
  9. hebasto commented at 8:20 pm on April 2, 2024: member

    Any idea when it could be re-enabled?

    I guess, the package issue should be resolved by the Ubuntu 24.04 release date (this month).

  10. achow101 commented at 8:42 pm on April 2, 2024: member
    It seems unwise to have CI that runs for every PR to be dependent on an unstable OS. From what I can tell, the purpose of using Ubuntu noble is to get access to clang 18. Instead of doing that, could we instead use the LTS release and just use the llvm package repo to get the clang versions we want?
  11. 0xB10C commented at 6:55 am on April 3, 2024: contributor
    I’m missing context for this change. Why no PR description and no commit message body?
  12. maflcko commented at 7:43 am on April 3, 2024: member

    It seems unwise to have CI that runs for every PR to be dependent on an unstable OS. From what I can tell, the purpose of using Ubuntu noble is to get access to clang 18. Instead of doing that, could we instead use the LTS release and just use the llvm package repo to get the clang versions we want?

    I agree, but that is not possible, because the bpfcc-tools on the Ubuntu 22.04 LTS were outdated as well. So they’d require a ppa as well, see #27510.

    I am not sure if two third-party PPAs are more stable than a vanilla Ubuntu, but I won’t object a pull request that implements the changes. (I won’t be working on this myself).

    If someone implements this, it may also be good to move the runner to a GHA 22.04 VM, to lift the requirements from the self-hosted runners. (But I won’t be working on this myself either)

    Personally I think it is fine to disable the bpf tests for a few days, or even weeks, as the code is unlikely to break. Even if it were to break, and people didn’t run the tests locally, and missed it, it should not be too hard to fix them after the temporary disable.

  13. maflcko commented at 7:44 am on April 3, 2024: member

    I’m missing context for this change. Why no PR description and no commit message body?

    I put it in the second comment. Edited and moved to the description.

  14. Sjors commented at 7:53 am on April 3, 2024: member

    Personally I think it is fine to disable the bpf tests for a few days, or even weeks, as the code is unlikely to break.

    To be on the very safe side, maybe open an issue to undo it and tag that for v28.0.

  15. maflcko commented at 8:38 am on April 3, 2024: member

    If someone implements this, it may also be good to move the runner to a GHA 22.04 VM, to lift the requirements from the self-hosted runners. (But I won’t be working on this myself either)

    Obviously this would expose the CI to GH changing the kernel below the CI without notice, e.g. https://github.com/bitcoin-core/secp256k1/commit/05bfab69aef3622f77f754cfb01220108a109c91 . So it may or may not be more or less fragile.

    I agree that the CI task is fragile, because it assumes an exact kernel to be known and available, but I honestly don’t know which alternative is less fragile. Suggestions are more than welcome.

  16. 0xB10C commented at 9:08 am on April 3, 2024: contributor

    I’m missing context for this change. Why no PR description and no commit message body?

    I put it in the second comment. Edited and moved to the description.

    Ok, I did a bit more digging: I was missing the context that ~https://github.com/bitcoin/bitcoin/pull/29765 upgraded the CI images to a newer Ubuntu version and that the Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT job is now failing.~ (edit: only the i686 job was upgraded in #29786).

    Is it an option to drop the USDT tests from the Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT job and move them to a GH actions 23.04 VM if “lifting the requirements from the self-hosted runners” is the general direction we want to go? (probably makes sense to merge this sooner than later before adding a GH actions VM job to have CI green again?).

  17. hebasto commented at 9:11 am on April 3, 2024: member

    Is it an option to drop the USDT tests from the Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT job and move them to a GH actions 23.04 VM if “lifting the requirements from the self-hosted runners” is the general direction we want to go? (probably makes sense to merge this sooner than later before adding a GH actions VM job to have CI green again?).

    I’ll look into it.

  18. maflcko commented at 9:14 am on April 3, 2024: member

    Ok, I did a bit more digging: I was missing the context that #29765 upgraded the CI images to a newer Ubuntu version and that the Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT job is now failing.

    29765 didn’t do the switch, it was done in fa83b65ef8934b44fbac02da8dbc27fc0bc230e6 last year.

    Is it an option to drop the USDT tests from the Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT job and move them to a GH actions 23.04 VM if “lifting the requirements from the self-hosted runners” is the general direction we want to go? (probably makes sense to merge this sooner than later before adding a GH actions VM job to have CI green again?).

    23.04 does not exist. Only ubuntu-22.04, no?

    Again, I am not sure what the best solution is, but if someone wants to propose something else and receive the git blame, I am all-in.

  19. 0xB10C commented at 9:15 am on April 3, 2024: contributor
  20. maflcko commented at 9:25 am on April 4, 2024: member

    I am happy to close this pull, if people don’t want it.

    However, I don’t see why running the CI not at all is better than skipping just the bpfcc part.

  21. DrahtBot added the label CI failed on Apr 4, 2024
  22. TheCharlatan approved
  23. TheCharlatan commented at 9:28 am on April 4, 2024: contributor
    ACK fac012c7262f036e9b6f5800e57dcd63870a871c
  24. fanquake commented at 10:10 am on April 4, 2024: member

    I think merging this temporarily is fine. I think the relevant upstream issue is https://bugs.launchpad.net/ubuntu/+source/bpfcc/+bug/2052813 ? I’m assuming this is going to be resolved soon. Note that the installation issues only seem to be with x86_64? Running apt update && apt install bpfcc-tools on noble, on an aarch64 machine, currently works. I thought that might be because it doesn’t seem to depend on libbpfcc 0.29.1+ds-1ubuntu4, but that is also currently available/installable:

    0# cat /etc/lsb-release 
    1DISTRIB_ID=Ubuntu
    2DISTRIB_RELEASE=24.04
    3DISTRIB_CODENAME=noble
    4DISTRIB_DESCRIPTION="Ubuntu Noble Numbat (development branch)"
    5# apt install libbpfcc
    6libbpfcc is already the newest version (0.29.1+ds-1ubuntu4).
    7# apt install bpfcc-tools
    8bpfcc-tools is already the newest version (0.29.1+ds-1ubuntu4).
    
  25. fanquake merged this on Apr 4, 2024
  26. fanquake closed this on Apr 4, 2024

  27. maflcko commented at 10:25 am on April 4, 2024: member
  28. maflcko deleted the branch on Apr 4, 2024
  29. fanquake referenced this in commit dcfcd39410 on Apr 5, 2024
  30. fanquake commented at 2:44 pm on April 5, 2024: member
    Pulled this into 27.x.

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-07-01 10:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me