ci: Add big endian platform - s390x #17591

pull elichai wants to merge 2 commits into bitcoin:master from elichai:2019-11-s390x changing 2 files +24 −0
  1. elichai commented at 1:08 pm on November 25, 2019: contributor

    Discovered this as part of #17402 and a conversation with gmaxwell.

    You can see here that the platform is indeed BE: https://travis-ci.org/elichai/bitcoin/jobs/616656410#L36

    This closes https://github.com/bitcoin/bitcoin/issues/6466

  2. Add ci script to install on s390x 2fa65e0de9
  3. Add s390x tests to travis da1f153e5e
  4. fanquake added the label Tests on Nov 25, 2019
  5. laanwj commented at 1:10 pm on November 25, 2019: member

    Concept ACK

    Hope this works!

  6. elichai commented at 1:15 pm on November 25, 2019: contributor
    autotools is doing it’s job good :) https://travis-ci.org/bitcoin/bitcoin/jobs/616670043#L2809
  7. MarcoFalke renamed this:
    Testing bitcoin in a Big Endian platform - s390x
    ci: AddBig Endian platform - s390x
    on Nov 25, 2019
  8. MarcoFalke renamed this:
    ci: AddBig Endian platform - s390x
    ci: Add big endian platform - s390x
    on Nov 25, 2019
  9. in ci/test/00_setup_env_s390x.sh:18 in da1f153e5e
    13+export RUN_UNIT_TESTS=true
    14+export RUN_FUNCTIONAL_TESTS=false
    15+export GOAL="install"
    16+export BITCOIN_CONFIG="--enable-reduce-exports --with-incompatible-bdb"
    17+
    18+lscpu
    


    MarcoFalke commented at 1:33 pm on November 25, 2019:
    Could add this to the script where we print free?

    elichai commented at 1:40 pm on November 25, 2019:
    Now that I see that it’s already printing that it’s bigendian as part of the configure I don’t mind removing this https://travis-ci.org/bitcoin/bitcoin/jobs/616670043#L2148
  10. in ci/test/00_setup_env_s390x.sh:9 in da1f153e5e
    0@@ -0,0 +1,18 @@
    1+#!/usr/bin/env bash
    2+#
    3+# Copyright (c) 2019 The Bitcoin Core developers
    4+# Distributed under the MIT software license, see the accompanying
    5+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
    6+
    7+export LC_ALL=C.UTF-8
    8+
    9+export HOST=s390x-unknown-linux-gnu
    


    MarcoFalke commented at 1:36 pm on November 25, 2019:
    0export HOST=s390x-unknown-linux-gnu
    1# The host arch is unknown, so we run the tests through qemu.
    2# If the host is arm and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string.
    3export QEMU_USER_CMD="${QEMU_USER_CMD:"qemu-s390x"}"
    

    And then add in the travis.yml:

    0        QEMU_USER_CMD=""  # Can run the tests natively without qemu
    

    (just like we do for arm)


    elichai commented at 1:51 pm on November 25, 2019:
    So should I also add the QEMU packages that we have in the ARM script?

    MarcoFalke commented at 2:00 pm on November 25, 2019:
    Ah good catch, yes.
  11. in ci/test/00_setup_env_s390x.sh:10 in da1f153e5e
     5+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
     6+
     7+export LC_ALL=C.UTF-8
     8+
     9+export HOST=s390x-unknown-linux-gnu
    10+export DOCKER_NAME_TAG=s390x/ubuntu:18.04
    


    MarcoFalke commented at 1:37 pm on November 25, 2019:

    Is this needed?


    elichai commented at 1:42 pm on November 25, 2019:
    I’ll check, in the PowerPC one Docker failed to download the right image for the platform (and instead downloaded amd64)
  12. in ci/test/00_setup_env_s390x.sh:14 in da1f153e5e
     9+export HOST=s390x-unknown-linux-gnu
    10+export DOCKER_NAME_TAG=s390x/ubuntu:18.04
    11+export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
    12+export NO_DEPENDS=1
    13+export RUN_UNIT_TESTS=true
    14+export RUN_FUNCTIONAL_TESTS=false
    


    MarcoFalke commented at 1:37 pm on November 25, 2019:
    Why?

    elichai commented at 1:44 pm on November 25, 2019:
    They were timing out in PowerPC, but I didn’t try them here, though because this is BE we might want to extend the timeout to make it work(because this is way more interesting then PowerPC)
  13. MarcoFalke approved
  14. MarcoFalke commented at 1:37 pm on November 25, 2019: member

    Didn’t know that s390x is be

    Thanks. Concept ACK

  15. MarcoFalke commented at 2:01 pm on November 25, 2019: member
    ACK da1f153e5e260f1744ee1bf4f24ca3a74ffea465
  16. elichai commented at 2:11 pm on November 25, 2019: contributor
    Not sure what’s up with appveyor though
  17. MarcoFalke commented at 2:14 pm on November 25, 2019: member
    Just ignore that
  18. laanwj commented at 2:37 pm on November 25, 2019: member
    yes AppVeyor issue is being fixed in #17592 and unrelated
  19. jonatack commented at 4:43 pm on November 25, 2019: member
    Concept ACK – very nice.
  20. DrahtBot commented at 5:13 pm on November 25, 2019: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #17402 (ci: Travis support for PowerPC64 by elichai)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  21. practicalswift commented at 5:16 pm on November 25, 2019: contributor
    Concept ACK
  22. in .travis.yml:106 in da1f153e5e
    101@@ -102,6 +102,12 @@ jobs:
    102         FILE_ENV="./ci/test/00_setup_env_arm.sh"
    103         QEMU_USER_CMD=""  # Can run the tests natively without qemu
    104 
    105+    - stage: test
    106+      name: 'S390x  [GOAL: install]  [unit tests, functional tests]'
    


    MarcoFalke commented at 6:19 pm on November 25, 2019:
    0      name: 'S390x  [GOAL: install]  [unit tests, no functional tests]'
    
  23. sipa commented at 6:57 pm on November 25, 2019: member
    Is there a chance of including functional tests, or is it just too slow?
  24. MarcoFalke referenced this in commit 2c1c43754b on Nov 25, 2019
  25. MarcoFalke merged this on Nov 25, 2019
  26. MarcoFalke closed this on Nov 25, 2019

  27. sidhujag referenced this in commit 8a4438f217 on Nov 25, 2019
  28. sidhujag referenced this in commit 00ab4a1f3f on Nov 26, 2019
  29. MarcoFalke referenced this in commit 1ae366ecb0 on Apr 9, 2020
  30. sidhujag referenced this in commit a950439921 on Nov 10, 2020
  31. sidhujag referenced this in commit 1b876233a4 on Nov 10, 2020
  32. DrahtBot locked this on Feb 15, 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-12-18 18:12 UTC

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