Koha::QA - Koha Quality Assurance Utilities
Shared QA modules for Koha and Koha plugins.
Purpose
This repository contains reusable Perl modules for Quality Assurance checks that can be used by:
- Koha core (https://git.koha-community.org/Koha-community/Koha)
- QA test scripts (https://gitlab.com/koha-community/qa-test-tools)
- Plugin certification (https://gitlab.com/joubu/koha-plugin-certification)
Instead of duplicating QA logic across multiple repositories, this central module provides a single source of truth.
Tests
To run the tests:
perl Makefile.PL
make js-deps
make
make test
make clean
Release
To cut a new release:
-
Verify
MANIFESTis correct before doing anything else: build from a fresh clone, not your working tree (a working tree can have local files, like a Cartoncpanfile.snapshot, that mask aMANIFESTreferencing something git doesn't actually track).git clone . /tmp/koha-qa-manifest-check cd /tmp/koha-qa-manifest-check perl Makefile.PLChecking if your kit is complete...must say nothing is missing. If it does, the listed file either needs to be tracked in git or removed fromMANIFEST(and added toMANIFEST.SKIP, so a latermake manifestdoesn't re-add it from a file that only happens to exist locally). -
Bump
$VERSIONinlib/Koha/QA.pmand add an entry toChanges, then commit. -
Tag the release:
git tag -a vX.Y.Z -m "Release X.Y.Z" -
Build the distribution tarball:
perl Makefile.PL make dist -
Push the branch and tags, then upload to CPAN:
git push origin main --follow-tags cpan-upload Koha-QA-X.Y.Z.tar.gzcpan-upload(fromCPAN::Uploader,cpanm CPAN::Uploaderif missing) needs PAUSE credentials configured, or pass-u YOUR_PAUSE_IDand it will prompt for the password.
License
This software is licensed under the GPLv3 license. See the LICENSE file for details.
Copyright
Copyright 2017-2026 Koha Development Team