ci: Add big endian native s390x build #18569

pull hebasto wants to merge 2 commits into bitcoin:master from hebasto:20200326-allow-s390x changing 5 files +47 −8
  1. hebasto commented at 10:01 PM on April 8, 2020: member

    Unlike the Docker wrapped solution (#17591) this PR suggests running on host system directly.

    This approach makes builds quick and stable (see: #18106).

    The excerpt from the Travis log:

    ...
    Running on host system without docker wrapper
    ...
    Byte Order: Big Endian
    ...
    
  2. hebasto renamed this:
    ci: Add big endian native s390x build
    [WIP] ci: Add big endian native s390x build
    on Apr 8, 2020
  3. fanquake added the label Tests on Apr 8, 2020
  4. in ci/test/04_install.sh:69 in fc85174f84 outdated
      65 | @@ -66,8 +66,7 @@ fi
      66 |  if [[ $DOCKER_NAME_TAG == centos* ]]; then
      67 |    ${CI_RETRY_EXE} DOCKER_EXEC yum -y install epel-release
      68 |    ${CI_RETRY_EXE} DOCKER_EXEC yum -y install $DOCKER_PACKAGES $PACKAGES
      69 | -elif [ "$TRAVIS_OS_NAME" != "osx" ]; then
      70 | -  ${CI_RETRY_EXE} DOCKER_EXEC apt-get update
      71 | +elif [ $USE_TRAVIS_APT_ADDON != "yes" ]; then
    


    MarcoFalke commented at 10:42 PM on April 8, 2020:
    elif [ $CI_USE_APT_INSTALL != "no" ]; then
    

    Let's try to avoid making this travis specific


    hebasto commented at 12:10 AM on April 9, 2020:

    Done.

  5. in .travis.yml:101 in fc85174f84 outdated
      96 | +      arch: s390x
      97 | +      dist: bionic
      98 | +      cache:
      99 | +        directories:
     100 | +          - $TRAVIS_BUILD_DIR/ci/scratch/.ccache
     101 | +          - $TRAVIS_BUILD_DIR/releases/$HOST
    


    MarcoFalke commented at 10:43 PM on April 8, 2020:

    Why is the overwrite needed?


    hebasto commented at 10:51 PM on April 8, 2020:

    To get rid of smth like this:

    adding /usr/local/Homebrew to cache
    creating directory /usr/local/Homebrew
    mkdir: cannot create directory ‘/usr/local/Homebrew’: Permission denied
    /usr/local/Homebrew is not yet cached
    /usr/local/Homebrew: No such file or directory
    /usr/local/Homebrew: unknown file type
    

    MarcoFalke commented at 10:56 PM on April 8, 2020:

    In that case, I'd rather move the overwrite to macos, since that is causing the trouble


    hebasto commented at 12:11 AM on April 9, 2020:

    Done.

  6. MarcoFalke commented at 10:46 PM on April 8, 2020: member

    I don't really like going back to using the travis environment, which is in constant flux and thus more brittle. Also, as they replace vanilla packages with their own versions (pyenv etc), debugging failures locally is probably going to be a pain.

    But if this runs without much hassle, why not.

  7. in ci/test/00_setup_env_s390x_host.sh:10 in fc85174f84 outdated
       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-linux-gnu
      10 | +export RUN_CI_ON_HOST=true
    


    MarcoFalke commented at 10:49 PM on April 8, 2020:

    This is a dangerous setting. Would be best to put this in the .travis.yml to make sure no one is setting this locally and trashing their machine?

    Edit: The setting should probably be renamed to DANGER_RUN_CI_ON_HOST or so


    hebasto commented at 12:11 AM on April 9, 2020:

    The setting should probably be renamed to DANGER_RUN_CI_ON_HOST or so

    Implemented.

  8. hebasto force-pushed on Apr 8, 2020
  9. hebasto force-pushed on Apr 8, 2020
  10. in .travis.yml:32 in 8d4ff5ca7c outdated
      28 | @@ -29,18 +29,14 @@ version: ~> 1.0
      29 |  
      30 |  dist: xenial
      31 |  os: linux
      32 | -language: minimal
      33 | +language: shell
    


    fanquake commented at 11:14 PM on April 8, 2020:

    From what I can tell, these are equivalent, why change it?


    hebasto commented at 11:24 PM on April 8, 2020:

    To explicitly define what we are going to use: Screenshot from 2020-04-09 02-22-09



    hebasto commented at 12:09 AM on April 9, 2020:

    Reverted.

  11. ci: Add native s390x 97ba77aa8e
  12. ci: Rename RUN_CI_ON_HOST to DANGER_RUN_CI_ON_HOST 6136a96cdf
  13. in .travis.yml:174 in 8d4ff5ca7c outdated
     169 | +          - $TRAVIS_BUILD_DIR/depends/built
     170 | +          - $TRAVIS_BUILD_DIR/depends/sdk-sources
     171 | +          - $TRAVIS_BUILD_DIR/ci/scratch/.ccache
     172 | +          - $TRAVIS_BUILD_DIR/releases/$HOST
     173 | +          - $HOME/Library/Caches/Homebrew
     174 | +          - /usr/local/Homebrew
    


    MarcoFalke commented at 11:14 PM on April 8, 2020:

    Isn't this build cross compilation? I think this whole hunk can be discarded.


    hebasto commented at 12:11 AM on April 9, 2020:

    Done.

  14. hebasto force-pushed on Apr 9, 2020
  15. hebasto renamed this:
    [WIP] ci: Add big endian native s390x build
    ci: Add big endian native s390x build
    on Apr 9, 2020
  16. DrahtBot commented at 5:57 AM on April 9, 2020: member

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #18288 (build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory by practicalswift)

    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.

  17. MarcoFalke commented at 1:00 PM on April 9, 2020: member

    ACK 6136a96cdf631f824fb89cf2720422787439acc9

  18. MarcoFalke merged this on Apr 9, 2020
  19. MarcoFalke closed this on Apr 9, 2020

  20. hebasto deleted the branch on Apr 9, 2020
  21. 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: 2026-04-24 21:14 UTC

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