From 2b44e70ee926440adbcde71d1682cdd565f709b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 17:29:07 +0200 Subject: [PATCH 1/7] Use Changelog.jl for changelog maintenance --- CHANGELOG.md | 4 ++++ docs/Project.toml | 2 ++ docs/changelog.jl | 7 +++++++ 3 files changed, 13 insertions(+) create mode 100644 docs/changelog.jl diff --git a/CHANGELOG.md b/CHANGELOG.md index fbb13d14..098fef66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -189,3 +189,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `test_stale_deps` no longer fails if any of the loaded packages prints during loading. ([#113](https://github.com/JuliaTesting/Aqua.jl/pull/113)) - Clarified the error message of `test_unbound_args`. ([#103](https://github.com/JuliaTesting/Aqua.jl/pull/103)) - Clarified the error message of `test_project_toml_formatting`. ([#122](https://github.com/JuliaTesting/Aqua.jl/pull/122)) + + + + diff --git a/docs/Project.toml b/docs/Project.toml index 1814eb33..df3ab69d 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,5 +1,7 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +Changelog = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e" [compat] Documenter = "1" +Changelog = "1" diff --git a/docs/changelog.jl b/docs/changelog.jl new file mode 100644 index 00000000..c30f286d --- /dev/null +++ b/docs/changelog.jl @@ -0,0 +1,7 @@ +using Changelog + +Changelog.generate( + Changelog.CommonMark(), + joinpath(@__DIR__, "..", "CHANGELOG.md"); + repo = "JuliaTesting/Aqua.jl", +) From dfe0704e1e38ad7afbb948888bf8c6805eac23b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 17:29:22 +0200 Subject: [PATCH 2/7] Update Makefile --- Makefile | 26 ++++++++++++++++++++++++-- docs/instantiate.jl | 17 +++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 docs/instantiate.jl diff --git a/Makefile b/Makefile index eb330cd4..a094999f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,17 @@ -all: generate_badge generate_favicon +JULIA:=julia -.PHONY: all generate_badge generate_favicon +default: help + +.PHONY: default changelog docs docs-instantiate generate_badge generate_favicon help test + +docs-instantiate: + ${JULIA} docs/instantiate.jl + +changelog: docs-instantiate + ${JULIA} --project=docs docs/changelog.jl + +docs: docs-instantiate + ${JULIA} --project=docs docs/make.jl generate_badge: SVG_BASE64=$(shell base64 -w 0 docs/src/assets/logo.svg); \ @@ -10,3 +21,14 @@ generate_favicon: convert -background none docs/src/assets/logo.svg -resize 256x256 -gravity center -extent 256x256 logo.png convert logo.png -define icon:auto-resize=256,64,48,32,16 docs/src/assets/favicon.ico rm logo.png + +test: + ${JULIA} --project -e 'using Pkg; Pkg.test()' + +help: + @echo "The following make commands are available:" + @echo " - make changelog: update all links in CHANGELOG.md's footer" + @echo " - make docs: build the documentation" + @echo " - make generate_badge: generate the Aqua.jl badge" + @echo " - make generate_favicon: generate the Aqua.jl favicon" + @echo " - make test: run the tests" diff --git a/docs/instantiate.jl b/docs/instantiate.jl new file mode 100644 index 00000000..4991cfb3 --- /dev/null +++ b/docs/instantiate.jl @@ -0,0 +1,17 @@ +# This script can be used to quickly instantiate the docs/Project.toml environment. +using Pkg, TOML + +package_directory = joinpath(@__DIR__, "..") +docs_directory = isempty(ARGS) ? @__DIR__() : joinpath(pwd(), ARGS[1]) +cd(docs_directory) do + Pkg.activate(docs_directory) + Pkg.develop(PackageSpec(path = package_directory)) + Pkg.instantiate() + + # Remove Aqua again from docs/Project.toml + project_toml = TOML.parsefile(joinpath(docs_directory, "Project.toml")) + delete!(project_toml["deps"], "Aqua") + open(joinpath(docs_directory, "Project.toml"), "w") do io + TOML.print(io, project_toml) + end +end From 4aab7cfeeba0546103727ed668cbe603fc3adb7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 17:35:15 +0200 Subject: [PATCH 3/7] Update PR links in changelog --- CHANGELOG.md | 128 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 84 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 098fef66..8d79b746 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,14 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- `test_project_extras` prints failures the same on all julia versions. In particular, 1.11 and nightly are no outliers. ([#275](https://github.com/JuliaTesting/Aqua.jl/pull/275)) +- `test_project_extras` prints failures the same on all julia versions. In particular, 1.11 and nightly are no outliers. ([#275]) ## [0.8.4] - 2023-12-01 ### Added -- `test_persistent_tasks` now accepts an optional `expr` to run in the precompile package. ([#255](https://github.com/JuliaTesting/Aqua.jl/pull/255)) +- `test_persistent_tasks` now accepts an optional `expr` to run in the precompile package. ([#255]) + The `expr` option lets you test whether your precompile script leaves any dangling Tasks or Timers, which would make it unsafe to use as a dependency for downstream packages. @@ -25,171 +25,211 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- `test_persistent_tasks` is now less noisy. ([#256](https://github.com/JuliaTesting/Aqua.jl/pull/256)) -- Completely overhauled the documentation. Every test now has its dedicated page. ([#250](https://github.com/JuliaTesting/Aqua.jl/pull/250)) +- `test_persistent_tasks` is now less noisy. ([#256]) +- Completely overhauled the documentation. Every test now has its dedicated page. ([#250]) ## [0.8.2] - 2023-11-16 ### Changed -- `test_persistent_tasks` no longer clears the environment of the subtask. Instead, it modifies `LOAD_PATH` directly to make stdlibs work. ([#241](https://github.com/JuliaTesting/Aqua.jl/pull/241)) +- `test_persistent_tasks` no longer clears the environment of the subtask. Instead, it modifies `LOAD_PATH` directly to make stdlibs work. ([#241]) ## [0.8.1] - 2023-11-16 ### Changed -- `test_persistent_tasks` now redirects stdout and stderr of the created subtask. Furthermore, the environment of the subtask gets cleared to allow default values for `JULIA_LOAD_PATH` to work. ([#240](https://github.com/JuliaTesting/Aqua.jl/pull/240)) +- `test_persistent_tasks` now redirects stdout and stderr of the created subtask. Furthermore, the environment of the subtask gets cleared to allow default values for `JULIA_LOAD_PATH` to work. ([#240]) ## [0.8.0] - 2023-11-15 ### Added -- Two additions check whether packages might block precompilation on Julia 1.10 or higher: ([#174](https://github.com/JuliaTesting/Aqua.jl/pull/174)) +- Two additions check whether packages might block precompilation on Julia 1.10 or higher: ([#174]) + `test_persistent_tasks` tests whether "your" package can safely be used as a dependency for downstream packages. This test is enabled for the default testsuite `test_all`, but you can opt-out by supplying `persistent_tasks=false` to `test_all`. [BREAKING] + `find_persistent_tasks_deps` is useful if "your" package hangs upon precompilation: it runs `test_persistent_tasks` on all the things you depend on, and may help isolate the culprit(s). ### Changed -- In `test_deps_compat`, the two subtests `check_extras` and `check_weakdeps` are now run by default. ([#202](https://github.com/JuliaTesting/Aqua.jl/pull/202)) [BREAKING] -- `test_deps_compat` now requires compat entries for all dependencies. Stdlibs no longer get ignored. This change is motivated by similar changes in the General registry. ([#215](https://github.com/JuliaTesting/Aqua.jl/pull/215)) [BREAKING] -- `test_ambiguities` now excludes the keyword sorter of all `exclude`d functions with keyword arguments as well. ([#203](https://github.com/JuliaTesting/Aqua.jl/pull/204)) -- `test_piracy` is renamed to `test_piracies`. ([#230](https://github.com/JuliaTesting/Aqua.jl/pull/230)) [BREAKING] -- `test_ambiguities` and `test_piracies` now return issues in a defined order. This order may change in a patch release of Aqua.jl. ([#233](https://github.com/JuliaTesting/Aqua.jl/pull/233)) -- Improved the message for `test_project_extras` failures. ([#234](https://github.com/JuliaTesting/Aqua.jl/pull/234)) -- `test_deps_compat` now requires a compat entry for `julia` This can be disabling by setting `compat_julia = false`. ([#236](https://github.com/JuliaTesting/Aqua.jl/pull/236)) [BREAKING] +- In `test_deps_compat`, the two subtests `check_extras` and `check_weakdeps` are now run by default. ([#202]) [BREAKING] +- `test_deps_compat` now requires compat entries for all dependencies. Stdlibs no longer get ignored. This change is motivated by similar changes in the General registry. ([#215]) [BREAKING] +- `test_ambiguities` now excludes the keyword sorter of all `exclude`d functions with keyword arguments as well. ([#203]) +- `test_piracy` is renamed to `test_piracies`. ([#230]) [BREAKING] +- `test_ambiguities` and `test_piracies` now return issues in a defined order. This order may change in a patch release of Aqua.jl. ([#233]) +- Improved the message for `test_project_extras` failures. ([#234]) +- `test_deps_compat` now requires a compat entry for `julia` This can be disabling by setting `compat_julia = false`. ([#236]) [BREAKING] ### Removed -- `test_project_toml_formatting` has been removed. Thus, the kwarg `project_toml_formatting` to `test_all` no longer exists. ([#209](https://github.com/JuliaTesting/Aqua.jl/pull/209)) [BREAKING] +- `test_project_toml_formatting` has been removed. Thus, the kwarg `project_toml_formatting` to `test_all` no longer exists. ([#209]) [BREAKING] ## [0.7.4] - 2023-10-24 ### Added -- `test_deps_compat` has two new kwargs `check_extras` and `check_weakdeps` to extend the test to these dependency categories. They are not run by default. ([#200](https://github.com/JuliaTesting/Aqua.jl/pull/200)) +- `test_deps_compat` has two new kwargs `check_extras` and `check_weakdeps` to extend the test to these dependency categories. They are not run by default. ([#200]) ### Changed -- The docstring for `test_stale_deps` explains the situation with package extensions. ([#203](https://github.com/JuliaTesting/Aqua.jl/pull/203)) -- The logo of Aqua.jl has been updated. ([#128](https://github.com/JuliaTesting/Aqua.jl/pull/128)) +- The docstring for `test_stale_deps` explains the situation with package extensions. ([#203]) +- The logo of Aqua.jl has been updated. ([#128]) ## [0.7.3] - 2023-09-25 ### Added -- `test_deps_compat` has a new kwarg `broken` to mark the test as broken using `Test.@test_broken`. ([#193](https://github.com/JuliaTesting/Aqua.jl/pull/193)) +- `test_deps_compat` has a new kwarg `broken` to mark the test as broken using `Test.@test_broken`. ([#193]) ### Fixed -- `test_piracy` no longer prints warnings for methods where the third argument is a `TypeVar`. ([#188](https://github.com/JuliaTesting/Aqua.jl/pull/188)) +- `test_piracy` no longer prints warnings for methods where the third argument is a `TypeVar`. ([#188]) ## [0.7.2] - 2023-09-19 ### Changed -- `test_undefined_exports` additionally prints the modules of the undefined exports in the failure report. ([#177](https://github.com/JuliaTesting/Aqua.jl/pull/177)) +- `test_undefined_exports` additionally prints the modules of the undefined exports in the failure report. ([#177]) ## [0.7.1] - 2023-09-05 ### Fixed -- `test_piracy` no longer reports type piracy in the kwsorter, i.e. `kwcall` should no longer appear in the report. ([#171](https://github.com/JuliaTesting/Aqua.jl/pull/171)) +- `test_piracy` no longer reports type piracy in the kwsorter, i.e. `kwcall` should no longer appear in the report. ([#171]) ## [0.7.0] - 2023-08-29 ### Added -- Installation and usage instructions to the documentation. ([#159](https://github.com/JuliaTesting/Aqua.jl/pull/159)) +- Installation and usage instructions to the documentation. ([#159]) ### Changed -- `test_ambiguities` now allows to exclude non-singleton callables. Excluding a type means to exclude all methods of the callable (sometimes also called "functor") and the constructor. ([#144](https://github.com/JuliaTesting/Aqua.jl/pull/144)) [BREAKING] -- `test_piracy` considers more functions. Callables and qualified names are now also checked. ([#156](https://github.com/JuliaTesting/Aqua.jl/pull/156)) [BREAKING] +- `test_ambiguities` now allows to exclude non-singleton callables. Excluding a type means to exclude all methods of the callable (sometimes also called "functor") and the constructor. ([#144]) [BREAKING] +- `test_piracy` considers more functions. Callables and qualified names are now also checked. ([#156]) [BREAKING] ### Fixed -- `test_ambiguities` prints less unnecessary whitespace. ([#158](https://github.com/JuliaTesting/Aqua.jl/pull/158)) -- `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166](https://github.com/JuliaTesting/Aqua.jl/pull/166)) +- `test_ambiguities` prints less unnecessary whitespace. ([#158]) +- `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166]) ## [0.6.7] - 2023-09-19 ### Changed -- `test_undefined_exports` additionally prints the modules of the undefined exports in the failure report. ([#177](https://github.com/JuliaTesting/Aqua.jl/pull/177)) +- `test_undefined_exports` additionally prints the modules of the undefined exports in the failure report. ([#177]) ### Fixed -- `test_ambiguities` prints less unnecessary whitespace. ([#158](https://github.com/JuliaTesting/Aqua.jl/pull/158)) -- Fix `test_piracy` for some methods with arguments of custom subtypes of `Function`. ([#170](https://github.com/JuliaTesting/Aqua.jl/pull/170)) +- `test_ambiguities` prints less unnecessary whitespace. ([#158]) +- Fix `test_piracy` for some methods with arguments of custom subtypes of `Function`. ([#170]) ## [0.6.6] - 2023-08-24 ### Fixed -- `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166](https://github.com/JuliaTesting/Aqua.jl/pull/166)) +- `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166]) ## [0.6.5] - 2023-06-26 ### Fixed -- Typo when calling kwargs. ([#153](https://github.com/JuliaTesting/Aqua.jl/pull/153)) +- Typo when calling kwargs. ([#153]) ## [0.6.4] - 2023-06-25 ### Added -- `test_piracy` has a new kwarg `treat_as_own`. It is useful for testing packages that deliberately commit some type piracy, e.g. modules adding higher-level functionality to a lightweight C-wrapper, or packages that are extending `StatsAPI.jl`. ([#140](https://github.com/JuliaTesting/Aqua.jl/pull/140)) +- `test_piracy` has a new kwarg `treat_as_own`. It is useful for testing packages that deliberately commit some type piracy, e.g. modules adding higher-level functionality to a lightweight C-wrapper, or packages that are extending `StatsAPI.jl`. ([#140]) ### Changed -- Explanation of `test_unbound_args` in the docstring. ([#146](https://github.com/JuliaTesting/Aqua.jl/pull/146)) +- Explanation of `test_unbound_args` in the docstring. ([#146]) ### Fixed -- Callable objects with type parameters no longer error in `test_ambiguities`' kwarg `exclude`. ([#142](https://github.com/JuliaTesting/Aqua.jl/pull/142)) +- Callable objects with type parameters no longer error in `test_ambiguities`' kwarg `exclude`. ([#142]) ## [0.6.3] - 2023-06-05 ### Changed -- When installing a method for a union type, it is only reported by `test_piracy` if *all* types in the union are foreign (instead of *any* for arguments). ([#131](https://github.com/JuliaTesting/Aqua.jl/pull/131)) +- When installing a method for a union type, it is only reported by `test_piracy` if *all* types in the union are foreign (instead of *any* for arguments). ([#131]) ### Fixed -- `test_deps_compat`'s kwarg `ignore` now works as intended. ([#130](https://github.com/JuliaTesting/Aqua.jl/pull/130)) -- Weakdeps are not reported as stale by `test_stale_deps` anymore. ([#135](https://github.com/JuliaTesting/Aqua.jl/pull/135)) +- `test_deps_compat`'s kwarg `ignore` now works as intended. ([#130]) +- Weakdeps are not reported as stale by `test_stale_deps` anymore. ([#135]) ## [0.6.2] - 2023-06-02 ### Added -- `test_ambiguities`, `test_undefined_exports`, `test_piracy`, and `test_unbound_args` each have a new kwarg `broken` to mark the test as broken using `Test.@test_broken`. ([#124](https://github.com/JuliaTesting/Aqua.jl/pull/124)) +- `test_ambiguities`, `test_undefined_exports`, `test_piracy`, and `test_unbound_args` each have a new kwarg `broken` to mark the test as broken using `Test.@test_broken`. ([#124]) ### Changed -- `test_piracy` now prints the offending methods in a more readable way. ([#93](https://github.com/JuliaTesting/Aqua.jl/pull/93)) -- Extend `test_project_toml_formatting` to `docs/Project.toml`. ([#115](https://github.com/JuliaTesting/Aqua.jl/pull/115)) +- `test_piracy` now prints the offending methods in a more readable way. ([#93]) +- Extend `test_project_toml_formatting` to `docs/Project.toml`. ([#115]) ### Fixed -- `test_stale_deps` no longer fails if any of the loaded packages prints during loading. ([#113](https://github.com/JuliaTesting/Aqua.jl/pull/113)) -- Clarified the error message of `test_unbound_args`. ([#103](https://github.com/JuliaTesting/Aqua.jl/pull/103)) -- Clarified the error message of `test_project_toml_formatting`. ([#122](https://github.com/JuliaTesting/Aqua.jl/pull/122)) +- `test_stale_deps` no longer fails if any of the loaded packages prints during loading. ([#113]) +- Clarified the error message of `test_unbound_args`. ([#103]) +- Clarified the error message of `test_project_toml_formatting`. ([#122]) +[#93]: https://github.com/JuliaTesting/Aqua.jl/issues/93 +[#103]: https://github.com/JuliaTesting/Aqua.jl/issues/103 +[#113]: https://github.com/JuliaTesting/Aqua.jl/issues/113 +[#115]: https://github.com/JuliaTesting/Aqua.jl/issues/115 +[#122]: https://github.com/JuliaTesting/Aqua.jl/issues/122 +[#124]: https://github.com/JuliaTesting/Aqua.jl/issues/124 +[#128]: https://github.com/JuliaTesting/Aqua.jl/issues/128 +[#130]: https://github.com/JuliaTesting/Aqua.jl/issues/130 +[#131]: https://github.com/JuliaTesting/Aqua.jl/issues/131 +[#135]: https://github.com/JuliaTesting/Aqua.jl/issues/135 +[#140]: https://github.com/JuliaTesting/Aqua.jl/issues/140 +[#142]: https://github.com/JuliaTesting/Aqua.jl/issues/142 +[#144]: https://github.com/JuliaTesting/Aqua.jl/issues/144 +[#146]: https://github.com/JuliaTesting/Aqua.jl/issues/146 +[#153]: https://github.com/JuliaTesting/Aqua.jl/issues/153 +[#156]: https://github.com/JuliaTesting/Aqua.jl/issues/156 +[#158]: https://github.com/JuliaTesting/Aqua.jl/issues/158 +[#159]: https://github.com/JuliaTesting/Aqua.jl/issues/159 +[#166]: https://github.com/JuliaTesting/Aqua.jl/issues/166 +[#170]: https://github.com/JuliaTesting/Aqua.jl/issues/170 +[#171]: https://github.com/JuliaTesting/Aqua.jl/issues/171 +[#174]: https://github.com/JuliaTesting/Aqua.jl/issues/174 +[#177]: https://github.com/JuliaTesting/Aqua.jl/issues/177 +[#188]: https://github.com/JuliaTesting/Aqua.jl/issues/188 +[#193]: https://github.com/JuliaTesting/Aqua.jl/issues/193 +[#200]: https://github.com/JuliaTesting/Aqua.jl/issues/200 +[#202]: https://github.com/JuliaTesting/Aqua.jl/issues/202 +[#203]: https://github.com/JuliaTesting/Aqua.jl/issues/203 +[#209]: https://github.com/JuliaTesting/Aqua.jl/issues/209 +[#215]: https://github.com/JuliaTesting/Aqua.jl/issues/215 +[#230]: https://github.com/JuliaTesting/Aqua.jl/issues/230 +[#233]: https://github.com/JuliaTesting/Aqua.jl/issues/233 +[#234]: https://github.com/JuliaTesting/Aqua.jl/issues/234 +[#236]: https://github.com/JuliaTesting/Aqua.jl/issues/236 +[#240]: https://github.com/JuliaTesting/Aqua.jl/issues/240 +[#241]: https://github.com/JuliaTesting/Aqua.jl/issues/241 +[#250]: https://github.com/JuliaTesting/Aqua.jl/issues/250 +[#255]: https://github.com/JuliaTesting/Aqua.jl/issues/255 +[#256]: https://github.com/JuliaTesting/Aqua.jl/issues/256 +[#275]: https://github.com/JuliaTesting/Aqua.jl/issues/275 From 257a5f74d3a9d7363afac4947659cc0bc2e4e374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 18:46:20 +0200 Subject: [PATCH 4/7] Update tag links in changelog --- CHANGELOG.md | 50 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d79b746..9baefe40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,14 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## Unreleased ### Changed - `test_project_extras` prints failures the same on all julia versions. In particular, 1.11 and nightly are no outliers. ([#275]) -## [0.8.4] - 2023-12-01 +## Version [v0.8.4] - 2023-12-01 ### Added @@ -21,7 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 or Timers, which would make it unsafe to use as a dependency for downstream packages. -## [0.8.3] - 2023-11-29 +## Version [v0.8.3] - 2023-11-29 ### Changed @@ -29,21 +29,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Completely overhauled the documentation. Every test now has its dedicated page. ([#250]) -## [0.8.2] - 2023-11-16 +## Version [v0.8.2] - 2023-11-16 ### Changed - `test_persistent_tasks` no longer clears the environment of the subtask. Instead, it modifies `LOAD_PATH` directly to make stdlibs work. ([#241]) -## [0.8.1] - 2023-11-16 +## Version [v0.8.1] - 2023-11-16 ### Changed - `test_persistent_tasks` now redirects stdout and stderr of the created subtask. Furthermore, the environment of the subtask gets cleared to allow default values for `JULIA_LOAD_PATH` to work. ([#240]) -## [0.8.0] - 2023-11-15 +## Version [v0.8.0] - 2023-11-15 ### Added @@ -66,7 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `test_project_toml_formatting` has been removed. Thus, the kwarg `project_toml_formatting` to `test_all` no longer exists. ([#209]) [BREAKING] -## [0.7.4] - 2023-10-24 +## Version [v0.7.4] - 2023-10-24 ### Added @@ -78,7 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The logo of Aqua.jl has been updated. ([#128]) -## [0.7.3] - 2023-09-25 +## Version [v0.7.3] - 2023-09-25 ### Added @@ -89,21 +89,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `test_piracy` no longer prints warnings for methods where the third argument is a `TypeVar`. ([#188]) -## [0.7.2] - 2023-09-19 +## Version [v0.7.2] - 2023-09-19 ### Changed - `test_undefined_exports` additionally prints the modules of the undefined exports in the failure report. ([#177]) -## [0.7.1] - 2023-09-05 +## Version [v0.7.1] - 2023-09-05 ### Fixed - `test_piracy` no longer reports type piracy in the kwsorter, i.e. `kwcall` should no longer appear in the report. ([#171]) -## [0.7.0] - 2023-08-29 +## Version [v0.7.0] - 2023-08-29 ### Added @@ -120,7 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166]) -## [0.6.7] - 2023-09-19 +## Version [v0.6.7] - 2023-09-19 ### Changed @@ -132,21 +132,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix `test_piracy` for some methods with arguments of custom subtypes of `Function`. ([#170]) -## [0.6.6] - 2023-08-24 +## Version [v0.6.6] - 2023-08-24 ### Fixed - `test_ambiguities` no longer hangs indefinitely when there are many ambiguities. ([#166]) -## [0.6.5] - 2023-06-26 +## Version [v0.6.5] - 2023-06-26 ### Fixed - Typo when calling kwargs. ([#153]) -## [0.6.4] - 2023-06-25 +## Version [v0.6.4] - 2023-06-25 ### Added @@ -161,7 +161,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Callable objects with type parameters no longer error in `test_ambiguities`' kwarg `exclude`. ([#142]) -## [0.6.3] - 2023-06-05 +## Version [v0.6.3] - 2023-06-05 ### Changed @@ -173,7 +173,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Weakdeps are not reported as stale by `test_stale_deps` anymore. ([#135]) -## [0.6.2] - 2023-06-02 +## Version [v0.6.2] - 2023-06-02 ### Added @@ -193,6 +193,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +[v0.6.2]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.2 +[v0.6.3]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.3 +[v0.6.4]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.4 +[v0.6.5]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.5 +[v0.6.6]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.6 +[v0.6.7]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.6.7 +[v0.7.0]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.7.0 +[v0.7.1]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.7.1 +[v0.7.2]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.7.2 +[v0.7.3]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.7.3 +[v0.7.4]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.7.4 +[v0.8.0]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.8.0 +[v0.8.1]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.8.1 +[v0.8.2]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.8.2 +[v0.8.3]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.8.3 +[v0.8.4]: https://github.com/JuliaTesting/Aqua.jl/releases/tag/v0.8.4 [#93]: https://github.com/JuliaTesting/Aqua.jl/issues/93 [#103]: https://github.com/JuliaTesting/Aqua.jl/issues/103 [#113]: https://github.com/JuliaTesting/Aqua.jl/issues/113 From 6f455e0875cc682837d4eabbe55ecb0d4373b7aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 22:40:55 +0200 Subject: [PATCH 5/7] Add changelog to docs --- .gitignore | 1 + CHANGELOG.md | 3 ++- docs/make.jl | 24 +++++++++++++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 1878e0aa..db06ecc6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ .DS_Store /docs/build/ /docs/site/ +/docs/src/release-notes.md Manifest.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index 9baefe40..69fe05bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ -# Changelog +# Release notes All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + ## Unreleased ### Changed diff --git a/docs/make.jl b/docs/make.jl index 27f2d5b4..07de9cf2 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,21 @@ -using Documenter, Aqua +using Documenter, Aqua, Changelog + +# Generate a Documenter-friendly changelog from CHANGELOG.md +Changelog.generate( + Changelog.Documenter(), + joinpath(@__DIR__, "..", "CHANGELOG.md"), + joinpath(@__DIR__, "src", "release-notes.md"); + repo = "JuliaTesting/Aqua.jl", +) makedocs(; + sitename = "Aqua.jl", + format = Documenter.HTML(; + repolink = "https://github.com/JuliaTesting/Aqua.jl", + assets = ["assets/favicon.ico"], + size_threshold_ignore = ["release-notes.md"], + ), + authors = "Takafumi Arakaki", modules = [Aqua], pages = [ "Home" => "index.md", @@ -15,13 +30,8 @@ makedocs(; "piracies.md", "persistent_tasks.md", ], + "release-notes.md", ], - sitename = "Aqua.jl", - format = Documenter.HTML(; - repolink = "https://github.com/JuliaTesting/Aqua.jl", - assets = ["assets/favicon.ico"], - ), - authors = "Takafumi Arakaki", ) deploydocs(; repo = "github.com/JuliaTesting/Aqua.jl", push_preview = true) From e6d486fe0c1276152be53790a7188efe3c9ec9b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 22:44:13 +0200 Subject: [PATCH 6/7] Add news --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69fe05bb..e8ee2c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Use [Changelog.jl](https://github.com/JuliaDocs/Changelog.jl) to generate the changelog, and add it to the documentation. ([#277]) - `test_project_extras` prints failures the same on all julia versions. In particular, 1.11 and nightly are no outliers. ([#275]) @@ -250,3 +251,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#255]: https://github.com/JuliaTesting/Aqua.jl/issues/255 [#256]: https://github.com/JuliaTesting/Aqua.jl/issues/256 [#275]: https://github.com/JuliaTesting/Aqua.jl/issues/275 +[#277]: https://github.com/JuliaTesting/Aqua.jl/issues/277 From 89bc74d540592d442ae756d7aaf7743d040e6dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 2 Apr 2024 22:45:50 +0200 Subject: [PATCH 7/7] Make formatter happy --- docs/Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index df3ab69d..842889d9 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,7 +1,7 @@ [deps] -Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Changelog = "5217a498-cd5d-4ec6-b8c2-9b85a09b6e3e" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" [compat] -Documenter = "1" Changelog = "1" +Documenter = "1"