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

Simplify the testing and release process #316

Open
dschwartznyc opened this issue Jun 13, 2024 · 0 comments
Open

Simplify the testing and release process #316

dschwartznyc opened this issue Jun 13, 2024 · 0 comments

Comments

@dschwartznyc
Copy link
Contributor

Description

Testing and creating a new Python generator release is complicated and very time consuming especially since testing includes ensuring that the generator creates a valid form of CDM.

After taking a copy of the current repo, the steps we follow are:

To develop and test changes:

  1. Update the Python POM to point to a recent version of the complete CDM Rune mode
  2. Enable CDM generation in python/src/test/java/com/regnosys/rosetta/generator/python/PythonFilesGeneratorTest.xtend
  3. Build the codebase mvn clean install
  4. Invoke the Python build script
  5. Run the test script
  6. Once dev and local testing finishes, test the Codefresh config by use of docker

Once development is finished and all tests pass, to prep for a PR:

  1. Undo (1) and (2) above
  2. Push the changes
  3. Raise a PR

Changes may be required in the CDM repo

  1. To enable testing of new generator, update the top level CDM POM to force use of the local version of the generator
  2. Build the Python version of CDM
  3. Run tests locally
  4. Use docker to test the Python Codefresh build commands
  5. Once finished, back out (1)
  6. Raise a PR once the generator PR has been merged

Describe the solution you'd like

The desired solution would allow skipping and reverting local config changes

Describe alternatives you've considered

We considered and rejected scripting changes to the environment as potentially fragile because they rely upon knowledge of the POM and code.

@dschwartznyc dschwartznyc changed the title Simplify the release process Simplify the testing and release process Jun 13, 2024
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

No branches or pull requests

1 participant