From ab52f3cc68a579e8f7885464d1d3a4c5e4a289b6 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Fri, 23 Jun 2023 11:24:27 -0400 Subject: [PATCH 01/14] ci: use Artifactory remote in windows workflow * Use github concurrency management * Update to get more in sync with nix.yml * Don't bother caching Conan * Add support for Debug job (disabled for now) --- .github/actions/build/action.yml | 2 +- .github/actions/dependencies/action.yml | 2 +- .github/workflows/windows.yml | 98 ++++++++++++------------- 3 files changed, 49 insertions(+), 53 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 2c4135e0cf1..06b4daf9435 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -19,7 +19,7 @@ runs: run: | cd ${build_dir} cmake \ - ${{ inputs.generator && format('-G {0}', inputs.generator) || '' }} \ + ${{ inputs.generator && format('-G "{0}"', inputs.generator) || '' }} \ -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \ -DCMAKE_BUILD_TYPE=${{ inputs.configuration }} \ ${{ inputs.cmake-args }} \ diff --git a/.github/actions/dependencies/action.yml b/.github/actions/dependencies/action.yml index af570f21b82..beb28437bb4 100644 --- a/.github/actions/dependencies/action.yml +++ b/.github/actions/dependencies/action.yml @@ -14,7 +14,7 @@ runs: - name: install dependencies shell: bash run: | - mkdir ${build_dir} + mkdir -p ${build_dir} cd ${build_dir} conan install \ --output-folder . \ diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 0f918a50959..dfcaf44f6a0 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,19 +1,11 @@ name: windows -# We have disabled this workflow because it fails in our CI Windows -# environment, but we cannot replicate the failure in our personal Windows -# test environments, nor have we gone through the trouble of setting up an -# interactive CI Windows environment. -# We welcome contributions to diagnose or debug the problems on Windows. Until -# then, we leave this tombstone as a reminder that we have tried (but failed) -# to write a reliable test for Windows. -# on: [push, pull_request] -on: - workflow_dispatch: - push: - branches: - - 'action' - paths: - - '.github/workflow/windows.yml' + +on: [push, pull_request] + +# https://docs.github.com/en/actions/using-jobs/using-concurrency +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: @@ -25,6 +17,11 @@ jobs: - Visual Studio 16 2019 configuration: - Release + # Github hosted runners tend to hang when running Debug unit tests. + # Instead of trying to work around it, disable the Debug job until + # something beefier (i.e. a heavy self-hosted runner) becomes + # available. + # - Debug runs-on: windows-2019 env: build_dir: .build @@ -37,9 +34,10 @@ jobs: python-version: 3.9 - name: learn Python cache directory id: pip-cache + shell: bash run: | pip install --upgrade pip - echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT + echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT} - name: restore Python cache directory uses: actions/cache@v2 with: @@ -55,45 +53,43 @@ jobs: cmake --version dir env: - name: configure Conan + shell: bash + env: + CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod run: | conan profile new default --detect - conan profile update settings.compiler.cppstd=20 default - conan profile update settings.compiler.runtime=MT default - conan profile update settings.compiler.toolset=v141 default - - name: learn Conan cache directory - id: conan-cache - run: | - echo "dir=$(conan config get storage.path)" >> $GITHUB_OUTPUT - - name: restore Conan cache directory - uses: actions/cache@v2 - with: - path: ${{ steps.conan-cache.outputs.dir }} - key: ${{ hashFiles('~/.conan/profiles/default', 'conanfile.py', 'external/rocksdb/*', '.github/workflows/windows.yml') }} - - name: export custom recipes + conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default + # Do not quote the URL. An empty string will be accepted (with + # a non-fatal warning), but a missing argument will not. + conan remote add ripple ${{ env.CONAN_URL }} --insert 0 + - name: try to authenticate to ripple Conan remote + shell: bash + id: remote run: | - conan export external/snappy snappy/1.1.9@ - conan export external/soci soci/4.0.3@ - - name: install dependencies + echo outcome=$(conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} && echo success || echo failure) | tee ${GITHUB_OUTPUT} + - name: list missing binaries + id: binaries + shell: bash + # Print the list of dependencies that would need to be built locally. + # A non-empty list means we have "failed" to cache binaries remotely. run: | - mkdir $env:build_dir - cd $env:build_dir - conan install .. --build missing --settings build_type=${{ matrix.configuration }} - - name: configure - run: | - $env:build_dir - cd $env:build_dir - pwd - ls - cmake ` - -G "${{ matrix.generator }}" ` - -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake ` - -Dassert=ON ` - -Dreporting=OFF ` - -Dunity=OFF ` - .. + echo missing=$(conan info . --build missing --settings build_type=${{ matrix.configuration }} --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT} + - name: build dependencies + if: (steps.binaries.outputs.missing != '[]') + uses: ./.github/actions/dependencies + with: + configuration: ${{ matrix.configuration }} + - name: upload dependencies to remote + if: (steps.binaries.outputs.missing != '[]') && (steps.remote.outputs.outcome == 'success') + run: conan upload --remote ripple '*' --all --parallel --confirm - name: build - run: | - cmake --build $env:build_dir --target rippled --config ${{ matrix.configuration }} --parallel $env:NUMBER_OF_PROCESSORS + uses: ./.github/actions/build + with: + generator: '${{ matrix.generator }}' + configuration: ${{ matrix.configuration }} + # Hard code for now. Move to the matrix if varied options are needed + cmake-args: '-Dassert=ON -Dreporting=OFF -Dunity=OFF' - name: test + shell: bash run: | - & "$env:build_dir\${{ matrix.configuration }}\rippled.exe" --unittest + ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) From 9c0882f8dcf65fa92ab40818984a2f1666537daa Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Fri, 7 Jul 2023 14:33:53 -0400 Subject: [PATCH 02/14] [FOLD] Run on self-hosted runner --- .github/workflows/windows.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index dfcaf44f6a0..82897b3ab24 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -22,7 +22,7 @@ jobs: # something beefier (i.e. a heavy self-hosted runner) becomes # available. # - Debug - runs-on: windows-2019 + runs-on: [self-hosted, windows-runner-vc2019] env: build_dir: .build steps: @@ -38,6 +38,8 @@ jobs: run: | pip install --upgrade pip echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT} + # Try the old style + echo "::set-output name=dir::$(pip cache dir)" - name: restore Python cache directory uses: actions/cache@v2 with: From 069aebbe3c48971634a899659588db78a8dc3d7c Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Fri, 7 Jul 2023 16:49:58 -0400 Subject: [PATCH 03/14] fixup! [FOLD] Run on self-hosted runner --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 82897b3ab24..22e5f79b6fb 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -59,7 +59,7 @@ jobs: env: CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod run: | - conan profile new default --detect + conan profile new default --detect || conan profile show default conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default # Do not quote the URL. An empty string will be accepted (with # a non-fatal warning), but a missing argument will not. From ab26e5c6e8c4424973140ab80876e6f2a8f7e4ed Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Fri, 7 Jul 2023 16:52:59 -0400 Subject: [PATCH 04/14] fixup! fixup! [FOLD] Run on self-hosted runner --- .github/workflows/windows.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 22e5f79b6fb..963fdf04a27 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -63,7 +63,8 @@ jobs: conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default # Do not quote the URL. An empty string will be accepted (with # a non-fatal warning), but a missing argument will not. - conan remote add ripple ${{ env.CONAN_URL }} --insert 0 + conan remote add ripple ${{ env.CONAN_URL }} --insert 0 || \ + conan remote list - name: try to authenticate to ripple Conan remote shell: bash id: remote From 77a8f2c9af30c737b0405a505f910800b0cd1fe5 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 14 Sep 2023 17:56:09 -0400 Subject: [PATCH 05/14] Revert "fixup! fixup! [FOLD] Run on self-hosted runner" This reverts commit ab26e5c6e8c4424973140ab80876e6f2a8f7e4ed. --- .github/workflows/windows.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 963fdf04a27..22e5f79b6fb 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -63,8 +63,7 @@ jobs: conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default # Do not quote the URL. An empty string will be accepted (with # a non-fatal warning), but a missing argument will not. - conan remote add ripple ${{ env.CONAN_URL }} --insert 0 || \ - conan remote list + conan remote add ripple ${{ env.CONAN_URL }} --insert 0 - name: try to authenticate to ripple Conan remote shell: bash id: remote From de2df5d24ee08781409ebb7a2a6f354a8b9c99ef Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 14 Sep 2023 17:56:28 -0400 Subject: [PATCH 06/14] Revert "fixup! [FOLD] Run on self-hosted runner" This reverts commit 069aebbe3c48971634a899659588db78a8dc3d7c. --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 22e5f79b6fb..82897b3ab24 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -59,7 +59,7 @@ jobs: env: CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod run: | - conan profile new default --detect || conan profile show default + conan profile new default --detect conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default # Do not quote the URL. An empty string will be accepted (with # a non-fatal warning), but a missing argument will not. From a35dd823cdf21ae49e41a6743870eb31a2ecc5f7 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 14 Sep 2023 17:56:37 -0400 Subject: [PATCH 07/14] Revert "[FOLD] Run on self-hosted runner" This reverts commit 9c0882f8dcf65fa92ab40818984a2f1666537daa. --- .github/workflows/windows.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 82897b3ab24..dfcaf44f6a0 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -22,7 +22,7 @@ jobs: # something beefier (i.e. a heavy self-hosted runner) becomes # available. # - Debug - runs-on: [self-hosted, windows-runner-vc2019] + runs-on: windows-2019 env: build_dir: .build steps: @@ -38,8 +38,6 @@ jobs: run: | pip install --upgrade pip echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT} - # Try the old style - echo "::set-output name=dir::$(pip cache dir)" - name: restore Python cache directory uses: actions/cache@v2 with: From 4cd85a66044f3962e5282737b6164bba2d01c4a0 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Mon, 18 Sep 2023 18:06:21 -0400 Subject: [PATCH 08/14] Try using one unit test job? --- .github/workflows/windows.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index dfcaf44f6a0..29e2d3acd3c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -92,4 +92,5 @@ jobs: - name: test shell: bash run: | - ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) + # ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) + ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs 1 From 222c7e4c15f9e3eb36f0a6eedf0c7eb2fc065ded Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 28 Sep 2023 14:13:51 -0400 Subject: [PATCH 09/14] [FOLD] Address review feedback from @thejohnfreeman: * Experimentally remove the `-p` param from mkdir in dependencies action * Add the "build_type" param to the dependencies check in the `nix` workflow * Update the version of actions/cache * Steal the remote step outcome fix from #4716 * Allow the Windows job to succeed if tests fail (explained in comments) --- .github/actions/dependencies/action.yml | 2 +- .github/workflows/nix.yml | 2 +- .github/workflows/windows.yml | 15 +++++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/actions/dependencies/action.yml b/.github/actions/dependencies/action.yml index d8e1e4d1f30..3147e8774f2 100644 --- a/.github/actions/dependencies/action.yml +++ b/.github/actions/dependencies/action.yml @@ -17,7 +17,7 @@ runs: - name: install dependencies shell: bash run: | - mkdir -p ${build_dir} + mkdir ${build_dir} cd ${build_dir} conan install \ --output-folder . \ diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 4198369e78a..b1af3f61ac7 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -88,7 +88,7 @@ jobs: # Print the list of dependencies that would need to be built locally. # A non-empty list means we have "failed" to cache binaries remotely. run: | - echo missing=$(conan info . --build missing --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT} + echo missing=$(conan info . --build missing --settings build_type=${{ matrix.configuration }} --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT} - name: build dependencies if: (steps.binaries.outputs.missing != '[]') uses: ./.github/actions/dependencies diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 29e2d3acd3c..ffec422a9f8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -39,7 +39,7 @@ jobs: pip install --upgrade pip echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT} - name: restore Python cache directory - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-${{ hashFiles('.github/workflows/windows.yml') }} @@ -66,7 +66,8 @@ jobs: shell: bash id: remote run: | - echo outcome=$(conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} && echo success || echo failure) | tee ${GITHUB_OUTPUT} + conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} + echo outcome=$([ $? -eq 0 ] && echo success || echo failure) | tee ${GITHUB_OUTPUT} - name: list missing binaries id: binaries shell: bash @@ -91,6 +92,12 @@ jobs: cmake-args: '-Dassert=ON -Dreporting=OFF -Dunity=OFF' - name: test shell: bash + # Github runners are resource limited, which causes unit tests to fail + # (e.g. OOM). To allow forward progress until self-hosted runners are + # up and running reliably, allow the job to succeed even if tests fail. + continue-on-error: true run: | - # ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) - ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs 1 + # Remove these echo statements before merging + echo "nproc: $(nproc)" + echo "NUMBER_OF_PROCESSORS ${NUMBER_OF_PROCESSORS}" + ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) From 715aeea3d56ce0751e12487f9c434a032a9ec1ea Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 28 Sep 2023 14:30:51 -0400 Subject: [PATCH 10/14] fixup! [FOLD] Address review feedback from @thejohnfreeman: --- .github/workflows/windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index ffec422a9f8..60e2f45f8e8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -66,6 +66,7 @@ jobs: shell: bash id: remote run: | + set +e conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} echo outcome=$([ $? -eq 0 ] && echo success || echo failure) | tee ${GITHUB_OUTPUT} - name: list missing binaries From 1641cc68efa8f6bc0fa32bf68f952f1ddf2a6efd Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 28 Sep 2023 16:35:24 -0400 Subject: [PATCH 11/14] fixup! fixup! [FOLD] Address review feedback from @thejohnfreeman: --- .github/actions/dependencies/action.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/dependencies/action.yml b/.github/actions/dependencies/action.yml index 3147e8774f2..b3b1045e0e9 100644 --- a/.github/actions/dependencies/action.yml +++ b/.github/actions/dependencies/action.yml @@ -17,6 +17,9 @@ runs: - name: install dependencies shell: bash run: | + # Ensure the build_dir does not exist. This should only happen if + # actions/build is called in the same job as actions/dependencies + rm -rf ${build_dir} mkdir ${build_dir} cd ${build_dir} conan install \ From f875a86808fa4c4c805ea004941994fdc918fbd6 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 28 Sep 2023 19:25:52 -0400 Subject: [PATCH 12/14] [FOLD] Further feedback from @thejohnfreeman: * Remove "actions/dependencies" from "actions/build" and call it manually from each workflow. Resolves issues with trying to create an existing build directory. --- .github/actions/build/action.yml | 4 ---- .github/actions/dependencies/action.yml | 3 --- .github/workflows/macos.yml | 4 ++++ .github/workflows/nix.yml | 4 ++++ .github/workflows/windows.yml | 2 -- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 06b4daf9435..d7a92b3b409 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -10,10 +10,6 @@ inputs: runs: using: composite steps: - - name: dependencies - uses: ./.github/actions/dependencies - with: - configuration: ${{ inputs.configuration }} - name: configure shell: bash run: | diff --git a/.github/actions/dependencies/action.yml b/.github/actions/dependencies/action.yml index b3b1045e0e9..3147e8774f2 100644 --- a/.github/actions/dependencies/action.yml +++ b/.github/actions/dependencies/action.yml @@ -17,9 +17,6 @@ runs: - name: install dependencies shell: bash run: | - # Ensure the build_dir does not exist. This should only happen if - # actions/build is called in the same job as actions/dependencies - rm -rf ${build_dir} mkdir ${build_dir} cd ${build_dir} conan install \ diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1ebb9f690bb..120a6ec1782 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -37,6 +37,10 @@ jobs: run : | conan profile get env.CXXFLAGS default || true conan profile update 'conf.tools.build:cxxflags+=["-DBOOST_ASIO_DISABLE_CONCEPTS"]' default + - name: dependencies + uses: ./.github/actions/dependencies + with: + configuration: ${{ matrix.configuration }} - name: build uses: ./.github/actions/build with: diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index b1af3f61ac7..fb017d45bf7 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -146,6 +146,10 @@ jobs: ls ~/.conan - name: checkout uses: actions/checkout@v3 + - name: dependencies + uses: ./.github/actions/dependencies + with: + configuration: ${{ matrix.configuration }} - name: build uses: ./.github/actions/build with: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 60e2f45f8e8..63415b18d46 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -99,6 +99,4 @@ jobs: continue-on-error: true run: | # Remove these echo statements before merging - echo "nproc: $(nproc)" - echo "NUMBER_OF_PROCESSORS ${NUMBER_OF_PROCESSORS}" ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) From 8f1c1e46ae803ad3a23ed9244698ffa3fbf60eda Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Mon, 2 Oct 2023 16:47:02 -0400 Subject: [PATCH 13/14] [FOLD] Improve remote setup step * Stolen from (4716 discussion) * Also add note to test step that it can fail --- .github/workflows/windows.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 63415b18d46..e2fd23d86f3 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -66,9 +66,9 @@ jobs: shell: bash id: remote run: | - set +e - conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} - echo outcome=$([ $? -eq 0 ] && echo success || echo failure) | tee ${GITHUB_OUTPUT} + echo outcome=$(conan user --remote ripple ${{ secrets.CONAN_USERNAME }} \ + --password ${{ secrets.CONAN_TOKEN }} >&2 && echo success || \ + echo failure) | tee ${GITHUB_OUTPUT} - name: list missing binaries id: binaries shell: bash @@ -91,12 +91,11 @@ jobs: configuration: ${{ matrix.configuration }} # Hard code for now. Move to the matrix if varied options are needed cmake-args: '-Dassert=ON -Dreporting=OFF -Dunity=OFF' - - name: test + - name: test (permitted to silently fail) shell: bash # Github runners are resource limited, which causes unit tests to fail # (e.g. OOM). To allow forward progress until self-hosted runners are # up and running reliably, allow the job to succeed even if tests fail. continue-on-error: true run: | - # Remove these echo statements before merging ${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc) From 15f1f0c8da20404fa3b72a166a6420592b5cc961 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Mon, 2 Oct 2023 17:02:21 -0400 Subject: [PATCH 14/14] fixup! [FOLD] Improve remote setup step --- .github/workflows/windows.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e2fd23d86f3..4988e323e2b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -77,7 +77,6 @@ jobs: run: | echo missing=$(conan info . --build missing --settings build_type=${{ matrix.configuration }} --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT} - name: build dependencies - if: (steps.binaries.outputs.missing != '[]') uses: ./.github/actions/dependencies with: configuration: ${{ matrix.configuration }}