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

Resolve a couple of Github Action CI annoyances: #4413

Merged
merged 4 commits into from
Feb 15, 2023

Conversation

ximinez
Copy link
Collaborator

@ximinez ximinez commented Feb 7, 2023

High Level Overview of Change

This PR fixes a couple of small issues that have been irking me about our Github Actions CI workflows.

  1. By default, if one job in a workflow fails, other running jobs in that workflow will be aborted, even if the other jobs are working fine and are almost done. This leads to wasted time and resources if the failure is, for example, OS specific, or due to a flaky unit test, and the failed job needs to be re-run, because all the jobs end up re-running.
    • Fixed by setting fail-fast: false so that multiple jobs in one workflow can finish independently.
  2. I get an email from Github with an error "Run failed: .github/workflows/windows.yml" on every single commit I make (two, if it's on a PR branch). This is because it considers this workflow malformed, because there is no valid on: clause. Example
    • Fixed by adding conditions back into the windows.yml job, which are not going to easily run, but which renders the file valid. (The workflow can be run manually, or for a branch named "action" that changes the windows.yml file.)

Note that I expect all the CI jobs to fail on this PR because of a dependency issue, addressed in #4407. When they do, note that both of the nix jobs do fail independently. Just to confirm that I didn't break anything, here is a successful job resulting from merging the #4407 fix.

Type of Change

  • [X ] Tests (You added tests for code that already exists, or your new feature included in this PR)

* Set "fail-fast: false" so that multiple jobs in one workflow can
  finish independently. By default, if one job fails, other running jobs
  will be aborted, even if the other jobs are working fine and are
  almost done. This leads to wasted time and resources if the failure
  is, for example, OS specific, or due to a flaky unit test, and the
  failed job needs to be re-run, because all the jobs end up re-running.
* Put conditions back into the windows.yml job (manual, and for
  a specific branch name and that job). This prevents Github Actions
  from sending "No jobs were run" failure emails on every commit.
@ximinez ximinez added the CI Continuous Integration Functionality label Feb 7, 2023
@drlongle
Copy link
Contributor

drlongle commented Feb 8, 2023

Looks good. Thanks.

* upstream/develop:
  Update dependency: grpc (XRPLF#4407)
  Introduce min/max observers for Number
  Optimize uint128_t division by 10 within Number.cpp
  Replace Number division algorithm
  Include rounding mode in XRPAmount to STAmount conversion.
  Remove undefined behavior * Taking the negative of a signed negative is UB, but   taking the negative of an unsigned is not.
  Silence warnings
  Introduce rounding modes for Number:
  Use Number for IOUAmount and STAmount arithmetic
  Add tests
  Add implicit conversion from STAmount to Number
  Add clip
  Add conversions between Number, XRPAmount and int64_t
  AMM Add Number class and associated algorithms
* upstream/develop:
  Update documented pathfinding configuration defaults: (XRPLF#4409)
* upstream/develop:
  Rename to fixNonFungibleTokensV1_2 and some cosmetic changes (XRPLF#4419)
  Only account specified as destination can settle through brokerage: (XRPLF#4399)
  Prevent brokered sale of NFToken to owner: (XRPLF#4403)
  Fix 3 issues around NFToken offer acceptance (XRPLF#4380)
  Allow NFT to be burned when number of offers is greater than 500 (XRPLF#4346)
  Add fixUnburnableNFToken feature (XRPLF#4391)
  Change default vote on fixUniversalNumber from yes to no (XRPLF#4414)
@intelliot
Copy link
Collaborator

Merging into develop because this doesn't touch any C++ code (other PRs may be held in Passed state because we have a feature freeze on 1.10, so will avoid merging into develop until 1.10 stable is tagged)

@intelliot intelliot merged commit aebf2ac into XRPLF:develop Feb 15, 2023
@ximinez ximinez deleted the action-annoyances branch February 15, 2023 21:43
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
…ctionality

* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
ximinez added a commit to ximinez/rippled that referenced this pull request Feb 17, 2023
…tpage

* upstream/develop:
  Resolve a couple of Github Action CI annoyances: (XRPLF#4413)
legleux pushed a commit to legleux/rippled that referenced this pull request Feb 22, 2023
* Set "fail-fast: false" so that multiple jobs in one workflow can
  finish independently. By default, if one job fails, other running jobs
  will be aborted, even if the other jobs are working fine and are
  almost done. This leads to wasted time and resources if the failure
  is, for example, OS specific, or due to a flaky unit test, and the
  failed job needs to be re-run, because all the jobs end up re-running.
* Put conditions back into the windows.yml job (manual, and for
  a specific branch name and that job). This prevents Github Actions
  from sending "No jobs were run" failure emails on every commit.
dangell7 pushed a commit to Transia-RnD/rippled that referenced this pull request Mar 5, 2023
* Set "fail-fast: false" so that multiple jobs in one workflow can
  finish independently. By default, if one job fails, other running jobs
  will be aborted, even if the other jobs are working fine and are
  almost done. This leads to wasted time and resources if the failure
  is, for example, OS specific, or due to a flaky unit test, and the
  failed job needs to be re-run, because all the jobs end up re-running.
* Put conditions back into the windows.yml job (manual, and for
  a specific branch name and that job). This prevents Github Actions
  from sending "No jobs were run" failure emails on every commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration Functionality
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants