Update Qt binaries for GitHub Action CI job #17789

pull sipsorcery wants to merge 2 commits into bitcoin:master from sipsorcery:ghaction-vs2019 changing 1 files +17 −3
  1. sipsorcery commented at 7:23 pm on December 22, 2019: member

    Also add new job version flag to allow vcpkg dependencies to be reinstalled whenever the job version flag is bumped.

    Fix for #17788.

  2. fanquake added the label Tests on Dec 22, 2019
  3. MarcoFalke commented at 7:28 pm on December 22, 2019: member
    Is there no way to hardcode the compiler version and then bump it together with the qt binaries? Otherwise it will be an endless cat-mouse game with appveyor/GitHub CI
  4. sipsorcery force-pushed on Dec 22, 2019
  5. Update Qt binaries for GitHub Action CI job
    Also add new job version flag to allow vcpkg dependencies to be reinstalled whenever the job version flag is bumped.
    3d472b28b2
  6. sipsorcery force-pushed on Dec 22, 2019
  7. sipsorcery commented at 7:41 pm on December 22, 2019: member

    @MarcoFalke how would it work with tracking the compiler version?

    The Qt binaries have to be rebuilt manually so even if the CI job detects the compiler on the build image has changed the best it can do is display a better error message.

    An additional complicating factor is Visual Studio is new getting updated as frequently as every two weeks. Not every update causes an ABI incompatibility. This particular issue has come about in Visual Studio 2019 16.4. The 16.1, 16.2, 16.3 and other minor version updates didn’t break ABI compatibility.

    I don’t think it’s a coincidence that since “automated” CI became a thing DevOps roles have also taken off. The latter to look after the former. We’re in the same boat. Over time I’d expect the “automated” CI’s will start adding features like detecting vcpkg and other dependencies being out of date and automatically reinstalling.

  8. hebasto commented at 8:07 pm on December 22, 2019: member
    Testing… Step “Update vcpkg and install packages” took 23 minutes.
  9. sipsorcery commented at 8:14 pm on December 22, 2019: member
    @hebasto that’s right. To resolve the libzmq ABI error the safest thing to do is to reinstall all the vcpkg packages. If the job is successful the vcpkg install directory will be cached and the step will be skipped on subsequent builds.
  10. hebasto commented at 8:22 pm on December 22, 2019: member

    @sipsorcery The excerpt from the log of the “Build” step:

    0Component too big for incremental LTCG with 32-bit toolset, build without incremental LTCG; Consider switching to 64-bit toolset.
    

    It is weird, isn’t it?

  11. sipsorcery commented at 8:31 pm on December 22, 2019: member

    That warning has always been there. I’ve never worried about it. I guess it’s because the GitHub and Appveyor vm’s load a 32 bit msvc build environment. It doesn’t affect the code generation since the build job set the target architecture as 64 bit.

    Seems there’s an easy fix. I’ll test it out.

  12. hebasto commented at 8:48 pm on December 22, 2019: member

    @sipsorcery

    If the job is successful the vcpkg install directory will be cached and the step will be skipped on subsequent builds.

    The first job is successful. But it seems the vcpkg install step is not skipped on subsequent builds.

    Something wrong with cache?

    UPDATE The excerpt from the log of “Post actions/cache@v1” step:

    0Post job cleanup.
    1"C:\Program Files\Git\usr\bin\tar.exe" -cz --force-local -f d:/a/_temp/5482216c-afb5-4ca3-92d5-879e4115cda0/cache.tgz -C C:/jobversion/$JOB_VERSION .
    2/usr/bin/tar: C\:/jobversion/$JOB_VERSION: Cannot open: No such file or directory
    3/usr/bin/tar: Error is not recoverable: exiting now
    4[warning]The process 'C:\Program Files\Git\usr\bin\tar.exe' failed with exit code 2
    
  13. Fixed format of environment variable in cache path. 1b1b8a523a
  14. MarcoFalke commented at 11:29 pm on December 22, 2019: member

    @MarcoFalke how would it work with tracking the compiler version?

    Instead of runs-on: windows-latest I was hoping for something like windows-msvc-16.2, so that we know exactly which compiler is used.

  15. hebasto commented at 11:41 pm on December 22, 2019: member

    @sipsorcery Testing 1b1b8a523a8fac05fe7f3c6e287d5a8360cc8900

    The excerpt from the log of “Run actions/cache@v1” step on a subsequent build:

     0Run actions/cache@v1
     1  with:
     2    path: C:/jobversion/1
     3    key: jobversion
     4  env:
     5    PYTHONUTF8: 1
     6    QT_DOWNLOAD_URL: https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip
     7    QT_DOWNLOAD_HASH: 9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21
     8    QT_LOCAL_PATH: C:\Qt5.9.8_x64_static_vs2019
     9    VCPKG_INSTALL_PATH: $env:VCPKG_INSTALLATION_ROOT/installed
    10    PLATFORM: x64
    11    JOB_VERSION: 1
    12    pythonLocation: C:\hostedtoolcache\windows\Python\3.7.5\x64
    13Cache not found for input keys: jobversion.
    
  16. hebasto commented at 0:00 am on December 23, 2019: member

    @MarcoFalke

    Instead of runs-on: windows-latest I was hoping for something like windows-msvc-16.2, so that we know exactly which compiler is used.

    From GitHub Actions Docs:

    Available GitHub-hosted runner types are: Windows Server 2019 | windows-latest

  17. MarcoFalke commented at 0:03 am on December 23, 2019: member
    Concept ACK, I guess
  18. hebasto commented at 0:04 am on December 23, 2019: member
    Concept ACK.
  19. sipsorcery commented at 12:15 pm on December 23, 2019: member

    This PR is not ready for merge. The job version mechanism is not working. The GithHub cache action does not work the way I expected.

    I’m still working on a fix.

  20. fanquake added the label Waiting for author on Dec 23, 2019
  21. DrahtBot commented at 9:02 pm on December 23, 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:

    • #17793 (ci: Update GitHub Actions CI vcpkg cache on MSBuild update by hebasto)

    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.

  22. sipsorcery commented at 9:18 pm on December 23, 2019: member
    Closed in favour of #17793.
  23. sipsorcery closed this on Dec 23, 2019

  24. fanquake referenced this in commit 1dbf3350c6 on Dec 23, 2019
  25. fanquake removed the label Waiting for author on May 28, 2020
  26. PastaPastaPasta referenced this in commit ecaeb6615a on Jun 27, 2021
  27. PastaPastaPasta referenced this in commit ac2630ba2e on Jun 28, 2021
  28. PastaPastaPasta referenced this in commit fd785582a1 on Jun 29, 2021
  29. PastaPastaPasta referenced this in commit fb9793231d on Jul 1, 2021
  30. PastaPastaPasta referenced this in commit 9386496df6 on Jul 1, 2021
  31. PastaPastaPasta referenced this in commit 07bbe74801 on Jul 14, 2021
  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-10-05 04:12 UTC

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