Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix output of remote step in nix workflow #4716

Closed
wants to merge 2 commits into from
Closed

Conversation

ckeshava
Copy link
Collaborator

@ckeshava ckeshava commented Sep 19, 2023

This pull request updates the nix CI runner. Although the builds are successful, the binaries are not uploaded to the internal artifactory. This PR attempts to fix this issue and I have borrowed the idea from @ximinez

After successful authentication, outcome variable contains a string. In the upload step, we are checking if outcome == success as a prerequisite for uploading the binary.

This PR updates the contents of the outcome variable in the CI.

Example of a breaking Github Actions workflow (thanks to @thejohnfreeman): https:/XRPLF/rippled/actions/runs/6264131645/job/17010134246

High Level Overview of Change

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release
  • None of the above
    This does not modify any of the source code files. The CI runner condition is updated to ensure uploads of binaries upon successful builds.

This change as motivated from this slack discussion: https://ripple-enterprise.slack.com/archives/C02GE9NBA/p1695051230548129

update the conditions for uploading of artifacts to internal repository -- based on Ed's suggestion
@ckeshava
Copy link
Collaborator Author

Is there any way I can try out the CI changes in this PR? How can I ensure that these commands work correctly?

@thejohnfreeman
Copy link
Collaborator

What do you mean the binaries are not uploaded? It appears to me that they are. How would you be able to tell if you could not inspect the Artifactory?

The Artifactory is public and browsable without credentials. There you can see the list of packages and their binaries.

Copy link
Collaborator

@thejohnfreeman thejohnfreeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll approve this change because it improves the observability of the workflow. I don't think the title or description of this PR is accurate, though.

@intelliot
Copy link
Collaborator

I don't think the title or description of this PR is accurate, though.

@thejohnfreeman could you suggest an alternate title and description?

@ckeshava
Copy link
Collaborator Author

@thejohnfreeman This was an observation made by @ximinez and @godexsoft , here is the context of the discussion: https://ripple-enterprise.slack.com/archives/C02GE9NBA/p1695084567770189?thread_ts=1695051230.548129&cid=C02GE9NBA

I am of the understanding that the Github CI was not correctly returning success, which caused the binaries to not be uploaded to the internal artifactory.

@thejohnfreeman
Copy link
Collaborator

I know the thread. I commented in it. It has 180 comments, though, and I don't feel like digging through all that in the Slack UI to try to figure out what you mean in the description here. Instead of linking to the Slack (which is not visible to non-Ripple employees), it would be better to link to a job run that you think failed to upload correctly (which is visible).

I looked and found one. The problem is that the step output starts with the string "Changed user of remote ..." printed by the conan user command.

This PR does not change the condition for upload. It fixes the output of the remote step.

Recommended:
Title: Fix output of remote step in nix workflow
Description: Let conan user command print to terminal.

@ckeshava
Copy link
Collaborator Author

ckeshava commented Sep 22, 2023

@thejohnfreeman thanks, this helps.
How did you search for the job which failed at the upload step? Is there a search/filter option amongst the jobs or do we need to manually eye-ball it?

Did we face issues with binary uploads anytime prior to this week? This issue must have surfaced before.
Alternatively, if one of the developers manually uploaded the binaries, we wouldn't have noticed it.

@ckeshava ckeshava changed the title update conditions for binary uploads on nix CI runner Fix output of remote step in nix workflow Sep 22, 2023
@thejohnfreeman
Copy link
Collaborator

I filtered for the nix workflow specifically, but then eyeballed for a commit that mentioned a change to the dependencies.

ximinez added a commit to ximinez/rippled that referenced this pull request Sep 28, 2023
* 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 XRPLF#4716
* Allow the Windows job to succeed if tests fail (explained in comments)
Comment on lines 79 to +83
- name: try to authenticate to ripple Conan remote
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}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with creating your branch in the XRPLF repo is that it has those secrets configured, so the connection works. On a personal repo (or just one that doesn't have secrets), when the conan user command fails, the whole step fails. https:/ximinez/rippled/actions/runs/6342827288/job/17229389904

There's an easy fix, though. The shell is running with set -e, so you can undo it by starting the run: with set +e.

Example from my Windows CI PR: https:/XRPLF/rippled/actions/runs/6343277722/job/17230836193?pr=4596#step:9:28

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for pointing this out.
I have incorporated your suggestions in this commit (ckeshava-patch-2...ckeshava:rippled:ckeshava-patch-2), but I don't have permissions to update this branch, because this is a branch on XRPLF's fork.

Do I need to create a new PR?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we've fixed this in other places with || true, which is the fix I prefer because it is highly specific. Only one command is permitted to fail.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

|| true will change the value of $?, won't it? That would defeat the whole point of this PR.

$ false ; [ $? -eq 0 ] && echo success || echo failure
failure

$ false || true ; [ $? -eq 0 ] && echo success || echo failure
success

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have permissions to update this branch, because this is a branch on XRPLF's fork.

How did you create the branch in the first place?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ximinez
If the secrets are not configured, then outcome is set to failure in both the suggestions. Won't both of these commands stop the build process?

No. That's the reason it's written this way. Setting outcome=failure only affects the "upload dependencies to remote" and "recreate archive with dependencies" steps.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, the additional tee ${GITHUB_OUTPUT} in your suggestion protects the entire bash command from failure. I'm guessing the command will short-circuit to the next OR condition. I think I understand it now 👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yet another option. A minimal change to the original. Just redirects output of conan user to stderr.

echo outcome=$(conan user --remote ripple ${{ secrets.CONAN_USERNAME }} --password ${{ secrets.CONAN_TOKEN }} >&2 && echo success || echo failure) | tee ${GITHUB_OUTPUT}

This sounds like a winner.

Copy link
Collaborator Author

@ckeshava ckeshava Oct 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have permissions to write into this branch :/
let me ask elliot and revert back to this PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have permissions to update this branch, because this is a branch on XRPLF's fork.

How did you create the branch in the first place?

@ckeshava previously had write access, but this was changed to read in order to improve the security of this repo. In general, contributions should be developed in your personal fork.

@ckeshava : please open a new PR using a branch on your fork. Thanks!

@ckeshava
Copy link
Collaborator Author

ckeshava commented Oct 4, 2023

this PR is superceded by #4746

@ckeshava ckeshava closed this Oct 4, 2023
@intelliot intelliot deleted the ckeshava-patch-2 branch October 5, 2023 20:43
intelliot pushed a commit that referenced this pull request Oct 9, 2023
Artifactory support was added to the `nix` builds with #4556. This
extends that support to the Windows build. Now the Windows build works;
CI will build and test a Windows release build. This only affects CI and
does not change any C++ code.

* Copy the remote setup step outcome fix from #4716 discussion
* Allow the Windows job to succeed if tests fail:
  * Currently the tests do not always pass, even on a single threaded
    run on the GitHub runners. So we are using parallel runs and mark
    the test step as allowed to fail (continue-on-error).
  * At this point, it's more important that the build succeeds than that
    the tests succeed, because:
  * We've got plenty of test coverage on the other jobs.
  * Test failures are much rarer than build failures because of
    cross-platform issues.
  * Having a test failure locally doesn't interrupt a workflow nearly as
    much as a build failure.

Note that Conan Center cannot hold the binaries we need. They do not
build the configurations we need, and they will not add them.

## Future Tasks

This introduces a new bottleneck since the build and test takes over an
hour. Speed up the job by:

* Making this job run on heavy Windows runners.
* Increasing the number of hardware threads.
ximinez added a commit to ximinez/rippled that referenced this pull request Mar 19, 2024
commit 47e9807
Merge: aac143e 0c32fc5
Author: Ed Hennis <[email protected]>
Date:   Tue Mar 19 12:22:13 2024 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      test: Env unit test RPC errors return a unique result: (4877)

commit aac143e
Merge: a38b331 af9cabe
Author: Ed Hennis <[email protected]>
Date:   Thu Mar 14 13:31:30 2024 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Install more public headers (4940)

commit a38b331
Merge: 6d1d8a0 2ecb851
Author: Ed Hennis <[email protected]>
Date:   Wed Mar 13 19:23:24 2024 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Update remaining actions (4949)
      Upgrade to xxhash 0.8.2 as a Conan requirement, enable SIMD hashing (4893)
      Fix workflows (4948)
      fix: order book update variable swap: (4890)
      Embed patched recipe for RocksDB 6.29.5 (4947)

commit 6d1d8a0
Merge: 2aabc0c c28e005
Author: Ed Hennis <[email protected]>
Date:   Thu Mar 7 16:56:23 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      build: add STCurrency.h to xrpl_core to fix clio build (4939)
      feat: add user version of `feature` RPC (4781)
      Fast base58 codec: (4327)
      Remove default ctors from SecretKey and PublicKey: (4607)

commit 2aabc0c
Merge: 38f908a 97863e0
Author: Ed Hennis <[email protected]>
Date:   Fri Mar 1 14:00:14 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.2.0-b1

commit 38f908a
Merge: 4f89097 8a2f6be
Author: Ed Hennis <[email protected]>
Date:   Thu Feb 29 12:16:39 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix compile error on gcc 13: (4932)
      Price Oracle (XLS-47d): (4789) (4789)

commit 4f89097
Merge: e296805 d7d15a9
Author: Ed Hennis <[email protected]>
Date:   Wed Feb 21 13:17:24 2024 -0800

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.1.0
      test: guarantee proper lifetime for temporary Rules object: (4917)

commit e296805
Merge: f1a3f38 da68651
Author: Ed Hennis <[email protected]>
Date:   Thu Feb 8 17:40:31 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.1.0-rc1
      `fixInnerObjTemplate`: set inner object template (4906)
      feat: allow `port_grpc` to be specified in `[server]` stanza (4728)
      build: add headers needed in Conan package for libxrpl (4885)
      `fixNFTokenReserve`: ensure NFT tx fails when reserve is not met (4767)
      fix(libxrpl): change library names in Conan recipe (4831)
      test: check for success/failure of Windows CI unit tests (4871)
      test: add unit test for redundant payment (4860)

commit f1a3f38
Merge: 283fd23 22cdb57
Author: Ed Hennis <[email protected]>
Date:   Mon Jan 29 17:16:04 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.1

commit 283fd23
Merge: dd41182 901152b
Author: Ed Hennis <[email protected]>
Date:   Thu Jan 25 19:18:58 2024 -0500

    erge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      chore: retry codecov upload (4896)
      docs: fix broken links in docs/build/conan.md (4699)
      Set version to 2.0.1-rc1

commit dd41182
Merge: c5ee5c4 fad9d63
Author: Ed Hennis <[email protected]>
Date:   Mon Jan 22 17:46:52 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      test: improve code coverage reporting (4849)
      docs: update help message about unit test-suite pattern matching (4846)
      Revert "Asynchronously write batches to NuDB. (4503)" (4882)
      Set version to 2.0.1-b1
      docs: add Performance type to PR template (4875)

commit c5ee5c4
Merge: 40d31ed 6ac2b70
Author: Ed Hennis <[email protected]>
Date:   Wed Jan 17 12:54:03 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      test: add DeliverMax to more JSONRPC tests (4826)

commit 40d31ed
Merge: dd17f0b fe4d6c6
Author: Ed Hennis <[email protected]>
Date:   Tue Jan 16 17:40:26 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix: change default send_queue_limit to 500 (4867)
      fix: clang warning about deprecated sprintf usage (4747)

commit dd17f0b
Merge: d9d54ad d9f90c8
Author: Ed Hennis <[email protected]>
Date:   Fri Jan 12 12:47:26 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Improve lifetime management of ledger objects (`SLE`s) to prevent runaway memory usage: (4822)

commit d9d54ad
Merge: 4242af5 4308407
Author: Ed Hennis <[email protected]>
Date:   Thu Jan 11 20:16:08 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      WebSocket should only call async_close once (4848)

commit 4242af5
Merge: 1c87aaf 2b0313d
Author: Ed Hennis <[email protected]>
Date:   Mon Jan 8 19:42:00 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.0

commit 1c87aaf
Merge: 7a54b9c 350d213
Author: Ed Hennis <[email protected]>
Date:   Mon Jan 8 18:55:06 2024 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.0-rc7

commit 7a54b9c
Merge: 6dd3eee ca31981
Author: Ed Hennis <[email protected]>
Date:   Thu Dec 21 16:50:48 2023 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.0-rc6
      Revert "Apply transaction batches in periodic intervals (4504)" (4852)
      Revert "Add ProtocolStart and GracefulClose P2P protocol messages (3839)" (4850)
      docs(API-CHANGELOG): clarify changes for V2 (4773)
      fix typo: 'of' instead of 'on' (4821)

commit 6dd3eee
Merge: 8a7c5bb 46f3d3e
Author: Ed Hennis <[email protected]>
Date:   Tue Dec 5 11:34:04 2023 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.0-rc5
      Workarounds for gcc-13 compatibility (4817)
      Revert 4505, 4760 (4842)
      Set version to 2.0.0-rc4

commit 8a7c5bb
Merge: 2c56c48 fe8621b
Author: Ed Hennis <[email protected]>
Date:   Wed Nov 29 15:26:29 2023 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      APIv2: show DeliverMax in submit, submit_multisigned (4827)
      APIv2: consistently return ledger_index as integer (4820)

commit 2c56c48
Merge: 1c1eb1b 8ec475b
Author: Ed Hennis <[email protected]>
Date:   Wed Nov 29 12:50:52 2023 -0500

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      Set version to 2.0.0-rc3
      docs(API-CHANGELOG): add extra bullet about DeliverMax (4784)
      Update API-CHANGELOG.md for release 2.0 (4828)
      Add Debian 12 Bookworm; ignore core-utils in almalinux (4836)
      Set version to 2.0.0-rc2
      Optimize calculation of close time to avoid impasse and minimize gratuitous proposal changes (4760)
      Fix 2.0 regression in tx method with binary output (4812)
      Update Linux smoketest distros (4813)
      Promote API version 2 to supported (4803)
      Support for the mold linker (4807)
      Proposed 2.0.0-rc2 (4818)
      Optimize calculation of close time to avoid impasse and minimize gratuitous proposal changes (4760)
      Fix 2.0 regression in tx method with binary output (4812)
      Update Linux smoketest distros (4813)
      Promote API version 2 to supported (4803)
      Support for the mold linker (4807)
      Set version to 2.0.0-rc1
      Unify JSON serialization format of transactions (4775)

commit 1c1eb1b
Merge: 4004dbf 09e0f10
Author: Ed Hennis <[email protected]>
Date:   Fri Nov 3 11:31:48 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix: check for valid public key in attestations (4798)
      Fix unit test api_version to enable api_version 2 (4785)
      chore: delete unused Dockerfile (4791)

commit 4004dbf
Merge: 8f05472 26b0322
Author: Ed Hennis <[email protected]>
Date:   Tue Oct 31 13:05:58 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix: remove unused variable (4677)
      `fixFillOrKill`: fix offer crossing with tfFillOrKill (4694)
      fix: remove include <ranges> (4788)

commit 8f05472
Merge: 2a03684 1eac4d2
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 26 10:13:15 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      APIv2: remove tx_history and ledger_header (4759)
      docs: clarify definition of network health (4729)
      Set version to 2.0.0-b4

commit 2a03684
Merge: 27bdd6a 3972683
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 23 16:08:12 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      APIv2(DeliverMax): add alias for Amount in Payment transactions (4733)

commit 27bdd6a
Merge: dbc9067 5026cbd
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 23 16:07:00 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      perf(CI): use unity builds to speed up Windows CI (4780)

commit dbc9067
Merge: 3a531a8 5af9dc5
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 19 14:52:40 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix(CI): set permission for doxygen workflow (4756)

commit 3a531a8
Merge: 5ab3395 8d86c5e
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 19 13:18:07 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix: allow pseudo-transactions to omit NetworkID (4737)
      feat(rpc): add `server_definitions` method (4703)
      `DID`: Decentralized identifiers (DIDs) (XLS-40): (4636)
      Update the reserved hook error code name to `tecHOOK_REJECTED` (4559)
      refactor(peerfinder): use LogicError in PeerFinder::Logic (4562)
      docs(pull_request_template): add API Impact section (4757)
      Set version to 2.0.0-b3

commit 5ab3395
Merge: 8096d1c 1fde585
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 16 17:36:09 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix(CI): Call python to upgrade pip on Windows (4768)

commit 8096d1c
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 16 12:39:45 2023 -0400

    fixup! [WIP] Try different cmake args

commit 654d690
Merge: 05827b6 c915984
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 12 18:10:21 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      docs(conan.md): fix broken link to conanfile.py (4740)
      fix(PathRequest): remove incorrect assert (4743)

commit 05827b6
Merge: 19f314e 1151fba
Author: Ed Hennis <[email protected]>
Date:   Wed Oct 11 18:24:49 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action-wip

    * upstream/develop:
      fix(CI): update workflow for uploading binaries to artifactory (4746)

commit 19f314e
Author: Ed Hennis <[email protected]>
Date:   Wed Oct 4 16:52:09 2023 -0400

    [WIP] Try different cmake args

commit 0306e9d
Author: Ed Hennis <[email protected]>
Date:   Tue Jul 25 12:14:34 2023 -0400

    [FOLD] Fallback on pip upgrade

commit 5a8af18
Author: Ed Hennis <[email protected]>
Date:   Wed Jul 12 14:01:15 2023 -0400

    [FOLD] Enable Windows debug CI builds

commit 908ee49
Author: Ed Hennis <[email protected]>
Date:   Fri Jul 7 14:33:53 2023 -0400

    [FOLD] Run on self-hosted runner

commit d1c8c80
Merge: 5f3a938 3e08c39
Author: Ed Hennis <[email protected]>
Date:   Tue Oct 10 11:51:26 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      ci: reenable Windows CI build with Artifactory support (4596)

commit 5f3a938
Merge: c3bce68 053b69c
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 9 12:07:25 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      docs(API-CHANGELOG): add `XRPFees` change (4741)
      docs(rippled-example.cfg): add P2P link compression (4753)

commit c3bce68
Merge: 7fdd63c 6ba9450
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 5 20:04:52 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      `fixDisallowIncomingV1`: allow issuers to authorize trust lines (4721)
      refactor: reduce boilerplate in applySteps: (4710)

commit 7fdd63c
Merge: 5778a34 4e84ad6
Author: Ed Hennis <[email protected]>
Date:   Thu Oct 5 12:45:46 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      refactor: reunify transaction common fields: (4715)
      fix typo in SECURITY.md (4662)
      docs(API-CHANGELOG): clarify account_info response (4724)
      fix: asan stack-use-after-scope in soci::use with rvalues (4676)

commit 5778a34
Merge: 15f1f0c e27d24b
Author: Ed Hennis <[email protected]>
Date:   Tue Oct 3 11:44:42 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      docs(BUILD.md): require GCC 11 or higher (4700)

commit 15f1f0c
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 2 17:02:21 2023 -0400

    fixup! [FOLD] Improve remote setup step

commit 8f1c1e4
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 2 16:47:02 2023 -0400

    [FOLD] Improve remote setup step

    * Stolen from (4716 discussion)
    * Also add note to test step that it can fail

commit e308801
Merge: 63c6717 925aca7
Author: Ed Hennis <[email protected]>
Date:   Mon Oct 2 16:44:42 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      fix(XLS-38): disallow the same bridge on one chain: (4720)

commit 63c6717
Merge: f875a86 2bb8de0
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 19:30:58 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      fix: stabilize voting threshold for amendment majority mechanism (4410)

commit f875a86
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 19:25:52 2023 -0400

    [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.

commit 1641cc6
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 16:35:24 2023 -0400

    fixup! fixup! [FOLD] Address review feedback from @thejohnfreeman:

commit 715aeea
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 14:30:51 2023 -0400

    fixup! [FOLD] Address review feedback from @thejohnfreeman:

commit 222c7e4
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 14:13:51 2023 -0400

    [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 XRPLF#4716
    * Allow the Windows job to succeed if tests fail (explained in comments)

commit 2f3ddde
Merge: 43690b3 b92d511
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 28 10:48:45 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      fix(build): `uint` is not defined on Windows platform (4731)
      Eliminate the built-in SNTP support (fixes 4207): (4628)
      Set version to 2.0.0-b2
      fix: accept all valid currency codes in API (4566)
      chore: add .build to .gitignore (4722)
      Add ProtocolStart and GracefulClose P2P protocol messages (3839)
      Fix typo in BUILD.md (4718)
      APIv2(gateway_balances, channel_authorize): update errors (4618)
      build: use Boost 1.82 and link Boost.Json (4632)
      docs(overlay): add URL of blog post and clarify wording (4635)
      docs(API-CHANGELOG): api_version 2 is expected with 2.0 (4633)
      docs(RELEASENOTES): update 1.12.0 notes to match dev blog (4691)

commit 43690b3
Merge: 4cd85a6 7bff9dc
Author: Ed Hennis <[email protected]>
Date:   Mon Sep 18 18:27:01 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Update secp256k1 to 0.3.2 (4653)

commit 4cd85a6
Author: Ed Hennis <[email protected]>
Date:   Mon Sep 18 18:06:21 2023 -0400

    Try using one unit test job?

commit 0fecaf7
Merge: efd32a6 e86181c
Author: Ed Hennis <[email protected]>
Date:   Mon Sep 18 14:50:15 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      docs: fix comment for LedgerHistory::fixIndex return value (4574)
      fix: remove unused variable causing clang 14 build errors (4672)
      docs(BUILD): make it easier to find environment.md (4507)
      Set version to 2.0.0-b1
      Revert CMake changes (4707)
      Change `XChainBridge` amendment to `Supported::yes` (4709)

commit efd32a6
Merge: a35dd82 237b406
Author: Ed Hennis <[email protected]>
Date:   Fri Sep 15 12:55:15 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Fix Windows build by removing two unused declarations (4708)
      Match unit tests on start of test name (4634)
      Revert ThreadName due to problems on Windows (4702)
      `XChainBridge`: Introduce sidechain support (XLS-38): (4292)
      APIv2(account_tx, noripple_check): return error on invalid input (4620)

commit a35dd82
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 14 17:56:37 2023 -0400

    Revert "[FOLD] Run on self-hosted runner"

    This reverts commit 9c0882f.

commit de2df5d
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 14 17:56:28 2023 -0400

    Revert "fixup! [FOLD] Run on self-hosted runner"

    This reverts commit 069aebb.

commit 77a8f2c
Author: Ed Hennis <[email protected]>
Date:   Thu Sep 14 17:56:09 2023 -0400

    Revert "fixup! fixup! [FOLD] Run on self-hosted runner"

    This reverts commit ab26e5c.

commit 9c15e2a
Merge: f01002f f259cc1
Author: Ed Hennis <[email protected]>
Date:   Mon Sep 11 19:48:45 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Several changes to improve Consensus stability: (4505)
      Apply transaction batches in periodic intervals (4504)
      Asynchronously write batches to NuDB. (4503)
      Remove CurrentThreadName.h from RippledCore.cmake (4697)

commit f01002f
Merge: f568ac0 a955057
Author: Ed Hennis <[email protected]>
Date:   Mon Sep 11 16:53:39 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      docs: update SECURITY.md (4338)
      refactor: simplify `TxFormats` common fields logic (4637)
      APIv2(ledger_entry): return invalidParams for bad parameters (4630)
      docs(rippled-example.cfg): clarify ssl_cert vs ssl_chain (4667)
      Introduce replacement for getting and setting thread name: (4312)
      Set version to 1.12.0
      Set version to 1.12.0-rc4
      amm_info: fetch by amm account id; add AMM object entry (4682)
      AMMBid: use tecINTERNAL for 'impossible' errors (4674)

commit f568ac0
Merge: 5d661f5 f31c50d
Author: Ed Hennis <[email protected]>
Date:   Fri Sep 1 12:46:52 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Set version to 1.12.0-rc3
      Revert "Asynchronously write batches to NuDB (4503)"
      Revert "Apply transaction batches in periodic intervals (4504)"
      Revert "Several changes to improve Consensus stability: (4505)"

commit 5d661f5
Merge: 5cfa42c 300b7e0
Author: Ed Hennis <[email protected]>
Date:   Wed Aug 23 10:47:07 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Set version to 1.12.0-rc1
      Set version to 1.12-b3
      Several changes to improve Consensus stability: (4505)
      Apply transaction batches in periodic intervals (4504)
      Asynchronously write batches to NuDB (4503)
      refactor: fix typo in FeeUnits.h (4644)
      Update Ubuntu build image (4650)
      test: add forAllApiVersions helper function (4611)
      add view updates for account SLEs (4629)
      Fix the package recipe for consumers of libxrpl (4631)
      refactor: improve checking of path lengths (4519)
      refactor: use C++20 function std::popcount (4389)
      fix(AMM): prevent orphaned objects, inconsistent ledger state: (4626)
      feat: support Concise Transaction Identifier (CTID) (XLS-37) (4418)

commit 5cfa42c
Merge: b42edc1 aded4a7
Author: Ed Hennis <[email protected]>
Date:   Thu Jul 20 14:02:53 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      docs: add API Changelog (4612)
      Set version to 1.12.0-b2
      BUILD: list steps after dependencies update (4623)

commit b42edc1
Merge: 106596b 5ba1f98
Author: Ed Hennis <[email protected]>
Date:   Fri Jul 14 09:51:27 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Rename `allowClawback` flag to `allowTrustLineClawback` (4617)
      Update dependencies (4595)

commit 106596b
Merge: ab26e5c 3c9db4b
Author: Ed Hennis <[email protected]>
Date:   Wed Jul 12 14:46:55 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      Introduce AMM support (XLS-30d): (4294)
      Adapt to change in Conan recipe for NuDB (4615)
      docs(CONTRIBUTING): push beta releases to `release` (4589)

commit ab26e5c
Author: Ed Hennis <[email protected]>
Date:   Fri Jul 7 16:52:59 2023 -0400

    fixup! fixup! [FOLD] Run on self-hosted runner

commit 069aebb
Author: Ed Hennis <[email protected]>
Date:   Fri Jul 7 16:49:58 2023 -0400

    fixup! [FOLD] Run on self-hosted runner

commit 9c0882f
Author: Ed Hennis <[email protected]>
Date:   Fri Jul 7 14:33:53 2023 -0400

    [FOLD] Run on self-hosted runner

commit 1b5e089
Merge: e88ca37 a45a95e
Author: Ed Hennis <[email protected]>
Date:   Thu Jul 6 19:42:59 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      APIv2(ledger_entry): return "invalidParams" when fields missing (4552)

commit e88ca37
Merge: 10f25ff c6fee28
Author: Ed Hennis <[email protected]>
Date:   Thu Jul 6 11:04:23 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      refactor: change the return type of mulDiv to std::optional (4243)

commit 10f25ff
Merge: e0a84e0 77dc63b
Author: Ed Hennis <[email protected]>
Date:   Wed Jul 5 17:06:40 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      fix: add allowClawback flag for `account_info` (4590)
      build: add binary hardening compile and link flags (4603)
      add clang-format pre-commit hook (4599)
      chore: update checkout action version to v3: (4598)

commit e0a84e0
Merge: f31ebff f18c6df
Author: Ed Hennis <[email protected]>
Date:   Fri Jun 30 17:55:10 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      APIv2(account_info): handle invalid "signer_lists" value (4585)
      fix: deb package build (4591)

commit f31ebff
Merge: 3df07fb 54afdaa
Author: Ed Hennis <[email protected]>
Date:   Thu Jun 29 19:52:26 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      ci: cancel overridden workflows (4597)
      fix: Update Handler::Condition enum values 3417 (4239)

commit 3df07fb
Merge: ab52f3c d34e8be
Author: Ed Hennis <[email protected]>
Date:   Thu Jun 29 11:54:22 2023 -0400

    Merge remote-tracking branch 'upstream/develop' into action

    * upstream/develop:
      APIv2: add error messages for account_tx (4571)

commit ab52f3c
Author: Ed Hennis <[email protected]>
Date:   Fri Jun 23 11:24:27 2023 -0400

    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)
sophiax851 pushed a commit to sophiax851/rippled that referenced this pull request Jun 12, 2024
Artifactory support was added to the `nix` builds with XRPLF#4556. This
extends that support to the Windows build. Now the Windows build works;
CI will build and test a Windows release build. This only affects CI and
does not change any C++ code.

* Copy the remote setup step outcome fix from XRPLF#4716 discussion
* Allow the Windows job to succeed if tests fail:
  * Currently the tests do not always pass, even on a single threaded
    run on the GitHub runners. So we are using parallel runs and mark
    the test step as allowed to fail (continue-on-error).
  * At this point, it's more important that the build succeeds than that
    the tests succeed, because:
  * We've got plenty of test coverage on the other jobs.
  * Test failures are much rarer than build failures because of
    cross-platform issues.
  * Having a test failure locally doesn't interrupt a workflow nearly as
    much as a build failure.

Note that Conan Center cannot hold the binaries we need. They do not
build the configurations we need, and they will not add them.

## Future Tasks

This introduces a new bottleneck since the build and test takes over an
hour. Speed up the job by:

* Making this job run on heavy Windows runners.
* Increasing the number of hardware threads.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants