Fixes the "No valid plugins were found" error when installing the plugin downloaded from a Gitea Actions artifact.
Cause
Gitea/Actions re-zips artifacts on download. The build job uploaded the already-built dist/unsupervised-schedular-<version>.zip, so the downloaded archive was a zip containing a zip. WordPress unzips the upload, finds a .zip (no plugin folder/header at the top level), and rejects it.
Fix
Unpack the built zip in CI and upload the resulting plugin folder instead. The downloaded artifact archive's top level is then unsupervised-schedular/, which installs directly via Plugins → Add New → Upload Plugin.
Verified by simulating the exact CI steps locally — the re-zipped artifact's top-level entry is unsupervised-schedular/ with unsupervised-schedular.php inside.
Note
This affects the CI artifact only. The local composer build output in dist/ was always a correct single plugin zip and installs fine as-is.
Fixes the **"No valid plugins were found"** error when installing the plugin downloaded from a Gitea Actions artifact.
## Cause
Gitea/Actions **re-zips artifacts on download**. The `build` job uploaded the already-built `dist/unsupervised-schedular-<version>.zip`, so the downloaded archive was a **zip containing a zip**. WordPress unzips the upload, finds a `.zip` (no plugin folder/header at the top level), and rejects it.
## Fix
Unpack the built zip in CI and upload the resulting **plugin folder** instead. The downloaded artifact archive's top level is then `unsupervised-schedular/`, which installs directly via **Plugins → Add New → Upload Plugin**.
Verified by simulating the exact CI steps locally — the re-zipped artifact's top-level entry is `unsupervised-schedular/` with `unsupervised-schedular.php` inside.
## Note
This affects the CI artifact only. The local `composer build` output in `dist/` was always a correct single plugin zip and installs fine as-is.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Gitea/Actions re-zips artifacts on download, so uploading the built plugin
zip produced a double-wrapped archive (a zip containing a zip). WordPress
then reported "No valid plugins were found" because the upload had no
plugin folder/header at its top level.
Unpack the built zip and upload the resulting plugin folder instead, so the
downloaded artifact's top level is unsupervised-schedular/ and installs
directly via Plugins -> Add New -> Upload.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes the "No valid plugins were found" error when installing the plugin downloaded from a Gitea Actions artifact.
Cause
Gitea/Actions re-zips artifacts on download. The
buildjob uploaded the already-builtdist/unsupervised-schedular-<version>.zip, so the downloaded archive was a zip containing a zip. WordPress unzips the upload, finds a.zip(no plugin folder/header at the top level), and rejects it.Fix
Unpack the built zip in CI and upload the resulting plugin folder instead. The downloaded artifact archive's top level is then
unsupervised-schedular/, which installs directly via Plugins → Add New → Upload Plugin.Verified by simulating the exact CI steps locally — the re-zipped artifact's top-level entry is
unsupervised-schedular/withunsupervised-schedular.phpinside.Note
This affects the CI artifact only. The local
composer buildoutput indist/was always a correct single plugin zip and installs fine as-is.🤖 Generated with Claude Code