This repository is a monorepo. Moodle Marketplace must receive the local plugin only, not the whole repository and not the optional block.
local_aiskillnavigatorplugins/aiskillnavigatorlocal/aiskillnavigatorblock_aiskillnavigator (submitted separately if desired)Do not upload GitHub’s repository ZIP.
Use the artifact generated by the Build Moodle packages GitHub Actions workflow. The artifact contains separate local-plugin and block-plugin ZIPs. Select the component you are submitting. Each ZIP has exactly this root structure:
aiskillnavigator/
version.php
settings.php
lib.php
classes/
db/
lang/
pages/
...
Run python3 tools/build_packages.py to build and verify the same archives locally. Both archives use aiskillnavigator/ as their root; install the local plugin under local/ and the block under blocks/.
The Publish Marketplace source branch workflow mirrors plugins/aiskillnavigator into the marketplace-dist branch whenever the plugin changes on main.
That branch has version.php, classes/, db/, lang/, and the rest of the local plugin at repository-root level. This keeps the main monorepo intact while providing a clean plugin-only source view for release/review purposes.
The Moodle Marketplace CI workflow stages only local_aiskillnavigator and runs Moodle Plugin CI against Moodle 4.4 / PHP 8.1 / PostgreSQL and Moodle 4.5 / PHP 8.3 / PostgreSQL and MySQL, including:
phpcs)The existing project CI remains in place for the repository’s custom regression tests.
.env files, production exports, or Moodle configuration files.Before uploading a release:
main.The optional block_aiskillnavigator is a separate Moodle component and must never be bundled inside the local_aiskillnavigator Marketplace ZIP.