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

build: fix codegen flakiness with sequential execution, handrolled nwget #3289

Conversation

petermetz
Copy link
Contributor

  1. The package.json file of the cmd-api-server package now runs the codegen related scripts
    sequentially (e.g. using run-s instead of run-p of npm-run-all). This lowers the probability
    that the download of the openapi-generator .jar file is too late to finish and a crash occurs due
    to the .jar file not being present on the file-system when it is called upon.
  2. Also adding a hand-built nwget alternative because it was hanging the process after finishing
    the download (I've only seen this reproduced locally, but neveretheless it was frustrating)

Signed-off-by: Peter Somogyvari [email protected]

Pull Request Requirements

  • Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
  • Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
  • Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

  • Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
  • Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

Copy link
Contributor

@jagpreetsinghsasan jagpreetsinghsasan left a comment

Choose a reason for hiding this comment

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

LGTM.

1. The package.json file of the cmd-api-server package now runs the codegen related scripts
sequentially (e.g. using `run-s` instead of `run-p` of `npm-run-all`). This lowers the probability
that the download of the openapi-generator .jar file is too late to finish and a crash occurs due
to the .jar file not being present on the file-system when it is called upon.
2. Also adding a hand-built `nwget` alternative because it was hanging the process after finishing
the download (I've only seen this reproduced locally, but neveretheless it was frustrating)

Signed-off-by: Peter Somogyvari <[email protected]>
@petermetz petermetz force-pushed the build-stabilize-codegen-race-condition-problem branch from 1360834 to bb40e09 Compare June 6, 2024 15:39
@petermetz petermetz merged commit b98fa01 into hyperledger-cacti:main Jun 6, 2024
142 of 150 checks passed
@petermetz petermetz deleted the build-stabilize-codegen-race-condition-problem branch June 6, 2024 16:01
@ruzell22
Copy link
Contributor

ruzell22 commented Jun 7, 2024

As an additional note, I have tested the code changes here for 10 times while also limiting the RAM to 7GB and vCPU cores to 2 (which makes the issue appear a few times per multiple push) and all of it have yarn codegen run successfully.

@petermetz
Copy link
Contributor Author

As an additional note, I have tested the code changes here for 10 times while also limiting the RAM to 7GB and vCPU cores to 2 (which makes the issue appear a few times per multiple push) and all of it have yarn codegen run successfully.

@ruzell22 Hurray, we have successfully stabilized codegen!!!

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