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

Add a changelog #158

Merged
merged 6 commits into from
Dec 27, 2024
Merged

Add a changelog #158

merged 6 commits into from
Dec 27, 2024

Conversation

mikeingold
Copy link
Collaborator

@mikeingold mikeingold commented Dec 26, 2024

Added

  • Implement a CHANGELOG.md

@mikeingold mikeingold added the documentation Improvements or additions to documentation label Dec 26, 2024
Copy link

codecov bot commented Dec 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (16835af) to head (d354800).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #158   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           18        18           
  Lines          184       184           
=========================================
  Hits           184       184           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

github-actions bot commented Dec 26, 2024

Benchmark Results

main d354800... main/d35480099132f6...
Differentials/Differential 0.204 ± 0.001 μs 0.203 ± 0.002 μs 1
Differentials/Jacobian 0.168 ± 0.001 μs 0.167 ± 0.001 μs 1.01
Integrals/Segment/Scalar GaussKronrod 0.83 ± 0.0064 μs 0.844 ± 0.0077 μs 0.984
Integrals/Segment/Scalar GaussLegendre 1.65 ± 0.007 μs 1.64 ± 0.0063 μs 1
Integrals/Segment/Scalar HAdaptiveCubature 1.04 ± 0.093 μs 1.03 ± 0.16 μs 1.01
Integrals/Segment/Vector GaussKronrod 3.08 ± 0.07 μs 3.04 ± 0.061 μs 1.01
Integrals/Segment/Vector GaussLegendre 18.1 ± 0.54 μs 17.4 ± 0.48 μs 1.04
Integrals/Segment/Vector HAdaptiveCubature 3.93 ± 0.14 μs 3.89 ± 0.08 μs 1.01
Integrals/Sphere/Scalar GaussKronrod 0.0762 ± 0.0009 ms 0.0727 ± 0.00068 ms 1.05
Integrals/Sphere/Scalar GaussLegendre 1.81 ± 0.0082 ms 1.81 ± 0.0086 ms 0.999
Integrals/Sphere/Scalar HAdaptiveCubature 0.047 ± 9.9e-05 ms 0.0472 ± 0.00011 ms 0.997
Integrals/Sphere/Vector GaussKronrod 0.109 ± 0.0015 ms 0.108 ± 0.0011 ms 1.01
Integrals/Sphere/Vector GaussLegendre 3.32 ± 0.065 ms 3.3 ± 0.074 ms 1
Integrals/Sphere/Vector HAdaptiveCubature 0.0985 ± 0.0012 ms 0.099 ± 0.0012 ms 0.995
Rules/GaussLegendre 22.2 ± 0.51 μs 22 ± 0.48 μs 1.01
Specializations/Scalar GaussLegendre/BezierCurve 0.252 ± 0.00024 ms 0.25 ± 0.00033 ms 1.01
Specializations/Scalar GaussLegendre/Line 7.02 ± 0.05 μs 7.02 ± 0.06 μs 1
Specializations/Scalar GaussLegendre/Plane 0.738 ± 0.0021 ms 0.738 ± 0.002 ms 1
Specializations/Scalar GaussLegendre/Ray 5.87 ± 0.053 μs 5.98 ± 0.043 μs 0.981
Specializations/Scalar GaussLegendre/Rope 0.0509 ± 0.00021 ms 0.0508 ± 0.00028 ms 1
Specializations/Scalar GaussLegendre/Tetrahedron 0.156 ± 0.0022 s 0.282 ± 0.0024 s 0.555
Specializations/Scalar GaussLegendre/Triangle 0.658 ± 0.01 ms 0.685 ± 0.017 ms 0.961
time_to_load 1.58 ± 0.0035 s 1.52 ± 0.013 s 1.04

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@mikeingold mikeingold self-assigned this Dec 27, 2024
@JoshuaLampert
Copy link
Member

I like it! Especially in view of the recent changes to the requirements for registering breaking releases in the General registry. In future, we can, e.g., point to the changelog in the release notes.
We could go even further and integrate the changelog into the documentation leveraging Changelog.jl. This also allows automatic linking to the corresponding PR implementing the respective change. I've done something similar before. If you agree, I could add such a workflow.

@mikeingold
Copy link
Collaborator Author

I like it! Especially in view of the recent changes to the requirements for registering breaking releases in the General registry. In future, we can, e.g., point to the changelog in the release notes.

This was actually inspired by the recent thread on Julia Discourse.

We could go even further and integrate the changelog into the documentation leveraging Changelog.jl. This also allows automatic linking to the corresponding PR implementing the respective change. I've done something similar before. If you agree, I could add such a workflow.

I saw that package referenced in the Discourse thread. Is there more to it than just automatically generating links? If not, I don't mind just manually adding links where relevant.

@mikeingold mikeingold marked this pull request as ready for review December 27, 2024 16:27
@JoshuaLampert
Copy link
Member

I think it would be nice to have the changelog also in the docs for more visibility. To achieve this we have different options. We need a markdown file under docs/src/ for Documenter.jl to pick it up. We could simply duplicate the CHANGELOG.md and copy it in docs/src/ and every time we add something to the changelog, we also add it in the other file. But this is not so nice because we always have to edit two files. Alternatively, we could programmatically copy the markdown file from the main directory to the docs folder whenever building the docs, i.e. using a cp in make.jl. This would probably work, but essentially the same thing is done by Changelog.jl by adding something like

Changelog.generate(Changelog.Documenter(),                    # output type
                   joinpath(@__DIR__, "..", "CHANGELOG.md"),  # input file
                   joinpath(@__DIR__, "src", "changelog.md"); # output file
                   repo = "JuliaGeometry/MeshIntegrals.jl",   # default repository for links
                   branch = "main",)

to make.jl. Plus it automatically generates the links to the issues/PRs. Thus, the questions are:

  1. Do we want to have the changelog in the docs?
  2. If yes, which of the three methods above (or another one?) do you prefer?

@mikeingold
Copy link
Collaborator Author

I'm not an expert in GitHub and these automations, but could we simply create a symlink like /docs/src/CHANGELOG.md pointing to /CHANGELOG.md?

@JoshuaLampert
Copy link
Member

Could maybe work. I've never tried that.

@mikeingold
Copy link
Collaborator Author

I can give it a shot here and see what happens.

@mikeingold
Copy link
Collaborator Author

Looks like it worked!

@mikeingold
Copy link
Collaborator Author

Copy link
Member

@JoshuaLampert JoshuaLampert left a comment

Choose a reason for hiding this comment

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

Nice, thank you!

@mikeingold mikeingold merged commit 67fc779 into main Dec 27, 2024
12 checks passed
@mikeingold mikeingold deleted the changelog branch December 27, 2024 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants