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

New version of propose_changelog.py #4908

Merged

Conversation

chillenzer
Copy link
Contributor

As requested by @psychocoderHPC, here's a quick rewrite of propose_changelog.py. One matter of taste might be that I have chosen to depend on pyyaml for the pretty printing of nested dictionaries. That is technically not necessary but I really don't care for writing all the formatting by hand. This comes with the tiny drawback that all the strings containing # are surrounded by single quotes. Theoretically, the formatting can be adjusted arbitrarily by writing custom dumpers but then again, we would be back at writing custom formatting code.

Output at the time of writing

Output

Bug Fixes:
  PIC:
  - 'fix Gaussian and Dispersive pulse #4889'
  PMacc:
  - 'fix `atomicAllInc()` #4825'
  - 'avoid using uninitialized `pmacc::memory::Array` #4789'
  other:
  - 'Correct spack options for boost #4780'
  - 'fix potential deadlock #4755'
  plugins: []
  tools:
  - 'fix slow tbg substitution #4905'
  - 'fix growth rate and charge conservation test tools #4834'
Documentation:
  PIC:
  - 'replace cupla fully by alpaka #4838'
  PMacc:
  - 'replace cupla fully by alpaka #4838'
  other:
  - 'Correct spack options for boost #4780'
  - 'RISC-V support #4712'
  plugins:
  - 'Add shadowgraphy plugin #4868'
  - 'remove deactivation of ISAAC with HIP #4821'
  - 'change class and function names in radPlugin to camelCase #4734'
  - 'add calorimeter python module #4697'
  tools:
  - 'Pre-commit #4792'
  - 'Remove hemera k80 and k20 partition #4779'
  - 'add calorimeter python module #4697'
Features:
  PIC:
  - 'Add feature `--dump-metadata` #4812'
  - 'PIConGPU unit tests #4723'
  - 'add CKC Solver #4661'
  PMacc:
  - 'Add PMacc example - Solving the 2D HeatEquation #4767'
  other:
  - 'RISC-V support #4712'
  - 'Make fieldAbsorberTest a test for the CI #4682'
  - 'Add CurrentDeposition test #4557'
  plugins:
  - 'Add shadowgraphy plugin #4868'
  - 'remove deactivation of ISAAC with HIP #4821'
  - 'Implement checkpoint and restart capability to the binning plugin #4766'
  - 'change class and function names in radPlugin to camelCase #4734'
  - 'add calorimeter python module #4697'
  - 'change radiation plugin python module to openPMD-api #4680'
  tools:
  - 'Remove hemera k80 and k20 partition #4779'
  - 'add Snakemake workflow example #4774'
  - 'add calorimeter python module #4697'
  - 'change radiation plugin python module to openPMD-api #4680'
Refactoring:
  PIC:
  - 'replace cupla fully by alpaka #4838'
  - 'optimize collision #4828'
  - 'move PMacc and PIConGPU fully to alpaka #4820'
  - 'Topic remove preprocessor struct generator #4750'
  - 'refactor to make superCellSize and frameSize independant #4685'
  - 'refactor particle init kernel #4681'
  - 'Add an optional time delay for incident field pulses #4651'
  PMacc:
  - 'rename `getDataSpace` to `capacityND` #4851'
  - 'refactor lockstep programming model #4840'
  - 'replace cupla fully by alpaka #4838'
  - 'move PMacc and PIConGPU fully to alpaka #4820'
  - 'Topic remove preprocessor struct generator #4750'
  - 'remove accessor from `math::Vector<>` #4746'
  - 'Get supercell index relative to user defined origin #4731'
  - 'remove `atomicAddNoRet()` #4722'
  - 'refactor DataSpaceOperations #4719'
  other:
  - 'remove CONST_VECTOR from OnePositionParameter #4875'
  plugins:
  - 'optimize OpenPMD IO #4882'
  - 'openPMD: add parameter `particleIOChunkSize` #4874'
  - 'Bump openPMD-api to minimal version 0.15 #4782'
  - 'simplify output structure colorimeter plugin  #4695'
  tools:
  - 'Pre-commit #4792'
User Input Changes:
- 'remove CONST_VECTOR from OnePositionParameter #4875'
- 'Topic remove preprocessor struct generator #4750'
- 'change class and function names in radPlugin to camelCase #4734'
- 'refactor to make superCellSize and frameSize independant #4685'

Copy link
Member

@PrometheusPi PrometheusPi left a comment

Choose a reason for hiding this comment

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

Looks good, just a help (as used by all other tools) would be a nice to have.

docs/propose_changelog.py Outdated Show resolved Hide resolved
docs/propose_changelog.py Show resolved Hide resolved
docs/propose_changelog.py Outdated Show resolved Hide resolved
docs/propose_changelog.py Show resolved Hide resolved
docs/propose_changelog.py Outdated Show resolved Hide resolved
@PrometheusPi PrometheusPi added component: tools scripts, python libs and CMake CI:no-compile CI is skipping compile/runtime tests but runs PICMI tests labels May 24, 2024
@PrometheusPi PrometheusPi added this to the 0.8.0 / Next stable milestone May 24, 2024
PrometheusPi
PrometheusPi previously approved these changes May 24, 2024
@chillenzer
Copy link
Contributor Author

As the CI does something weird currently and @psychocoderHPC will most likely be the main user of this, we'll wait for your approval for this.

@psychocoderHPC
Copy link
Member

@chillenzer Can we automatically run a short regex over the output to remove ' if we have it as last and first letter?

@chillenzer
Copy link
Contributor Author

Hi, I've gone the simple route of just removing all quotes. I would argue that the changelog will experience minor human adjustment anyways, so adding a single pair of missing quotes every few releases won't hurt that much.

@psychocoderHPC psychocoderHPC merged commit b202137 into ComputationalRadiationPhysics:dev Jun 5, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI:no-compile CI is skipping compile/runtime tests but runs PICMI tests component: tools scripts, python libs and CMake
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants