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:

    0...
    1Running on host system without docker wrapper
    2...
    3Byte Order: Big Endian
    4...
    
  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:
    0elif [ $CI_USE_APT_INSTALL != "no" ]; then
    

    Let’s try to avoid making this travis specific


    hebasto commented at 0: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:

    0adding /usr/local/Homebrew to cache
    1creating directory /usr/local/Homebrew
    2mkdir: cannot create directory ‘/usr/local/Homebrew’: Permission denied
    3/usr/local/Homebrew is not yet cached
    4/usr/local/Homebrew: No such file or directory
    5/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 0: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 0: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 0: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 0: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

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

    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: 2024-11-23 18:12 UTC

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