CI run on big-endian platform #6466

issue laanwj openend this issue on July 22, 2015
  1. laanwj commented at 4:45 pm on July 22, 2015: member
    Let’s add a travis build/test run (testing could be done using qemu-user) on a big endian platform to avoid breaking without us noticing. (I’d suggest MIPS as we already have an ARM platform run, for most diverse testing)
  2. laanwj added the label Tests on Jul 22, 2015
  3. sipa commented at 4:56 pm on July 22, 2015: member
    ACK.
  4. jonasschnelli commented at 5:20 pm on July 22, 2015: contributor
    Concept ACK. I think focusing BE on CI is important if we want to keep it maintained. The only thing i fear a tiny bit is the required time to fully compile on a qemu BE system (or would it cross compile and only run the tests over qemu)?
  5. sipa commented at 5:22 pm on July 22, 2015: member
    Yes, cross compile + run on BE emulator.
  6. theuni commented at 10:25 pm on July 22, 2015: member
    ACK. This will take some flips and twists, but should be do-able. Adding it to my list.
  7. laanwj commented at 6:12 am on July 24, 2015: member

    @jonasschnelli Cross-compiling to BE is easy. We could start with just that. Although I expect most issues to be found while running. Even if just a

    0qemu-mips src/test/test_bitcoin
    

    (did this locally while developing) One step further would be to run the Python QA tests - these don’t have to run in BE themselves - just the bitcoinds that they launch.

  8. MarcoFalke assigned theuni on May 15, 2016
  9. MarcoFalke added the label good first issue on Feb 12, 2019
  10. MarcoFalke renamed this:
    Travis run on big-endian platform
    CI run on big-endian platform
    on Aug 7, 2019
  11. jeking3 commented at 10:46 am on August 11, 2019: none

    This is something that I recently added as an option to the Boost CI framework that some libraries in the boost project use:

    1. Build a multiarch Dockerfile, for example https://github.com/jeking3/bdde/blob/master/Dockerfile.red-ppc64

    2. Modify the Travis CI build job to include needed bits (basically, add qemu-user-static package and docker service): https://github.com/boostorg/boost-ci/commit/ceb7055bde4337fa5434a3fb4575b1cced07d312#diff-1b73ee3d35c55099866134b4ab3115eaR49

    3. Invoke your build command with docker: https://github.com/jeking3/bdde/blob/master/bin/linux/bdde#L24

    This allowed me to run boostorg/uuid in big-endian, track down and fix an issue. Build time is at least 10x slower than normal however…

  12. MarcoFalke added the label Hacktoberfest on Oct 10, 2019
  13. MarcoFalke commented at 2:21 pm on October 10, 2019: member

    This should be easy to solve, in the same fashion as #17089.

    I checked that Bionic has the package available:

    0$ qemu-mips --version
    1qemu-mips version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.19)
    2Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
    
  14. MarcoFalke closed this on Nov 25, 2019

  15. sidhujag referenced this in commit 8a4438f217 on Nov 25, 2019
  16. laanwj commented at 10:42 am on November 26, 2019: member
    :tada: :tada: :tada:
  17. sidhujag referenced this in commit a950439921 on Nov 10, 2020
  18. MarcoFalke locked this on Dec 16, 2021
  19. PastaPastaPasta referenced this in commit 3f4b5f9fa1 on Apr 3, 2022

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-11-17 15:12 UTC

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