• Stars
    star
    301
  • Rank 133,522 (Top 3 %)
  • Language
    Julia
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Auto QUality Assurance for Julia packages

Aqua.jl: Auto QUality Assurance for Julia packages

Stable Dev GitHub Actions Codecov Aqua QA

Aqua.jl provides functions to run a few automatable checks for Julia packages:

  • There are no method ambiguities.
  • There are no undefined exports.
  • There are no unbound type parameters.
  • There are no stale dependencies listed in Project.toml.
  • Check that test target of the root project Project.toml and test project (test/Project.toml) are consistent.
  • Check that all external packages listed in deps have corresponding compat entry.
  • Project.toml formatting is compatible with Pkg.jl output.
  • There are no "obvious" type piracies (new in 0.6)

See more in the documentation.

Quick usage

Call Aqua.test_all(YourPackage) from test/runtests.jl, e.g.,

using YourPackage
using Aqua
Aqua.test_all(YourPackage)

Notes on Aqua 0.6

Aqua 0.6 includes the type piracy detection, thanks to the PR by Jakob Nybo Nissen (@jakobnissen) and the original implementation by Frames Catherine White (@oxinabox).

If this part of Aqua 0.6 causes a trouble, then you can disable the piracy detection with a flag as in Aqua.test_all(YourPackage; piracy = false).

Specifying Aqua version

To avoid breaking test when a new Aqua.jl version is released, it is recommended to add version bound for Aqua.jl in test/Project.toml:

[deps]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[compat]
Aqua = "0.6"

Badge

You can add the following line in README.md to include Aqua.jl badge:

[![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)

which is rendered as

Aqua QA