Skip to content

Retire mkdocs, publish plugins to Reposilite, refresh docs#29

Merged
THEROER merged 3 commits into
mainfrom
docs/reposilite-migration
Jul 4, 2026
Merged

Retire mkdocs, publish plugins to Reposilite, refresh docs#29
THEROER merged 3 commits into
mainfrom
docs/reposilite-migration

Conversation

@THEROER

@THEROER THEROER commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Follow-up to the 1.22.0 release, addressing the two loose ends and the docs move.

Fixes

  • fix(build-logic): the plugin publish job used the old unauthenticated ghPages repository block, so publish-plugins failed to upload to Reposilite (no credentials). Now mirrors the library's credential handling (PUBLISH_USER/PUBLISH_TOKEN).

Retire mkdocs / gh-pages

  • Documentation moved to the separate MagicUtilsWebsite (Nuxt) project. Remove docs/, mkdocs.yml, and the docs.yml / javadoc.yml / docs-check.yml workflows.
  • Rewire publishing: release.yml now dispatches publish-maven.yml directly after tagging (it no longer chains from the docs workflow_run).
  • README.md / RELEASING.md / scripts/README.md: point at Reposilite and the Gradle release tasks; drop stale gh-pages / publish_release.py references.

The docs content itself (Reposilite URLs, diagnostics publish-verdict, a new Build Logic page) is updated in the MagicUtilsWebsite repo.

Summary by Sourcery

Retire the in-repo MkDocs/gh-pages documentation pipeline, move docs responsibilities out to the separate MagicUtilsWebsite project, and simplify releases to dispatch the Maven publish workflow directly after tagging.

New Features:

  • Document that the magicutils-fabric-bundle can be used as a standalone Fabric mod providing the MagicUtils runtime and commands without a host mod.

Bug Fixes:

  • Fix plugin publishing from the build-logic project by aligning its Reposilite repository credentials with the library publishing configuration.

Enhancements:

  • Update release and script documentation to reflect Reposilite as the Maven host, the Gradle-based release flow, and the new publish-maven dispatch model.
  • Streamline the publish-maven GitHub workflow to run via workflow_dispatch from release.yml, removing the previous dependency on the docs workflow and javadoc workflow.

CI:

  • Remove obsolete docs, javadoc, and docs-check GitHub Actions workflows and update release.yml to only dispatch the publish-maven workflow.

Documentation:

  • Remove the MkDocs-based documentation tree from this repository and point README and release docs to the external MagicUtilsWebsite project and Reposilite Maven host.

Chores:

  • Delete MkDocs configuration and related requirements now that documentation has moved to a separate website project.

THEROER added 3 commits July 4, 2026 13:35
The build-logic publish repository still used the old unauthenticated 'ghPages'
block, so publishing the plugins to Reposilite failed (no credentials). Mirror
the library's credential handling here: name the repo 'magicutilsPublish' and
apply PUBLISH_USER/PUBLISH_TOKEN (or publish_user/publish_password) when set.
Documentation now lives in the separate MagicUtilsWebsite (Nuxt) project, so drop
the mkdocs sources (docs/, mkdocs.yml), the docs/javadoc gh-pages workflows, and
the docs lint check. Rewire publishing: publish-maven.yml is dispatched directly
by release.yml after tagging (it no longer chains from the docs workflow_run),
and release.yml's dispatch-downstream now triggers only the Maven publish.
Update the release pipeline description and verification commands for the new
publish-maven-from-release flow, replace the deprecated publish_release.py
references with the Gradle release tasks, and fix stale gh-pages/GitHub Pages
Maven mentions.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@sourcery-ai

sourcery-ai Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Retires the mkdocs/GitHub Pages documentation pipeline, moves docs responsibilities out of this repo, rewires the release workflows to dispatch Maven publishing directly, and fixes build-logic plugin publishing to use Reposilite with proper credentials.

Sequence diagram for the updated release-to-Maven publish pipeline

sequenceDiagram
  actor Maintainer
  participant GradleReleaseTasks
  participant GitHubReleaseWorkflow
  participant GitHubPublishMavenWorkflow
  participant Reposilite

  Maintainer->>GradleReleaseTasks: ./gradlew release -Pversion=X.Y.Z
  GradleReleaseTasks->>GitHubReleaseWorkflow: dispatch release.yml
  GitHubReleaseWorkflow->>GitHubReleaseWorkflow: tag job creates vX.Y.Z
  GitHubReleaseWorkflow->>GitHubPublishMavenWorkflow: gh workflow run publish-maven.yml -f version=X.Y.Z
  GitHubPublishMavenWorkflow->>GitHubPublishMavenWorkflow: resolve-matrix prints publish matrix
  GitHubPublishMavenWorkflow->>Reposilite: publish tasks PUT artifacts
  GitHubPublishMavenWorkflow->>Reposilite: publish-plugins builds build-logic and PUTs plugins
Loading

Flow diagram for build-logic plugin publishing credentials to Reposilite

flowchart TD
  A[Project hasProperty publish_repo] -->|no| Z[mavenLocal only]
  A -->|yes| B[read publish_user from Gradle properties]
  B --> C[fall back to PUBLISH_USER env]
  C --> D[read publish_password from Gradle properties]
  D --> E[fall back to PUBLISH_TOKEN env]
  E --> F{publishUser and publishPassword both non-null?}
  F -->|no| G[Configure magicutilsPublish repo without credentials]
  F -->|yes| H[Configure magicutilsPublish repo with username/password]
  G --> I[maven name magicutilsPublish url publish_repo]
  H --> I[maven name magicutilsPublish url publish_repo credentials]
  Z --> I
Loading

File-Level Changes

Change Details Files
Rewire the release pipeline to dispatch Maven publishing directly instead of chaining docs/javadoc workflows.
  • Update release documentation to describe the new CI chain that tags and then dispatches the Maven publish workflow via workflow_dispatch.
  • Change the release orchestrator workflow to call the Maven publish workflow directly after tagging and stop dispatching docs/javadoc workflows.
  • Adjust troubleshooting guidance to reference the publish-maven workflow only and document credential-related failure modes.
  • Update references to downstream workflows to only mention the Maven publish workflow.
RELEASING.md
.github/workflows/release.yml
scripts/README.md
Convert the Maven publishing workflow to be triggered manually/dispatch instead of via workflow_run from docs, and simplify its checkout and conditions.
  • Change the publish-maven workflow trigger from workflow_run on docs completion to workflow_dispatch only.
  • Remove workflow_run-specific condition checks so the matrix resolution job always runs when the workflow is dispatched.
  • Simplify checkout refs in all jobs to use github.sha instead of workflow_run head_sha.
  • Update inline comments to reflect that docs now live in a separate project and that this workflow is no longer chained from docs.
.github/workflows/publish-maven.yml
Fix plugin publishing in build-logic to target Reposilite with credentials mirroring the main library publish logic.
  • Rename the Maven repository definition to reflect publishing to Reposilite rather than gh-pages.
  • Add logic to resolve publish credentials from Gradle properties or PUBLISH_USER/PUBLISH_TOKEN environment variables.
  • Conditionally apply Maven credentials only when both user and password are present.
  • Keep the publish_repo property as the source of the target repository URL while aligning naming with the main project.
build-logic/build.gradle.kts
Retire mkdocs-based documentation and GitHub Pages workflows from this repository, with docs moved to a separate website project.
  • Delete the mkdocs configuration, requirements, and all docs/ content files from the repo.
  • Remove the docs, javadoc, and docs-check GitHub Actions workflows that previously built and published documentation and javadoc to GitHub Pages.
  • Update release and scripts documentation to explain that docs now live in the external MagicUtilsWebsite (Nuxt) project and are no longer part of this pipeline.
.github/workflows/docs-check.yml
.github/workflows/docs.yml
.github/workflows/javadoc.yml
docs/api.md
docs/contributing.md
docs/faq.md
docs/getting-started/installation.md
docs/getting-started/migration.md
docs/getting-started/quickstart.md
docs/getting-started/runtime.md
docs/getting-started/versioning.md
docs/index.md
docs/modules/commands-cheatsheet.md
docs/modules/commands.md
docs/modules/config-advanced.md
docs/modules/config.md
docs/modules/diagnostics.md
docs/modules/http-client.md
docs/modules/lang.md
docs/modules/logger-config.md
docs/modules/logger.md
docs/modules/overview.md
docs/modules/permissions.md
docs/modules/placeholders-advanced.md
docs/modules/placeholders.md
docs/platforms/bukkit.md
docs/platforms/core.md
docs/platforms/fabric.md
docs/platforms/neoforge.md
docs/platforms/velocity.md
docs/recipes/index.md
mkdocs.yml
requirements-docs.txt
Refresh public docs and README to describe Reposilite publishing, the standalone Fabric bundle usage, and the Gradle-based release helper.
  • Document that artifacts are now published to the self-hosted Reposilite, including thin and shaded jars, and remove GitHub Pages Maven notes.
  • Describe standalone installation and usage of the magicutils-fabric-bundle as a runnable mod that provides the shared runtime and commands.
  • Replace references to the deprecated scripts/publish_release.py helper with the Gradle releasePreflight and release tasks, pointing to RELEASING.md for full details.
  • Clarify that maintainers use the Gradle release tasks and that CI handles tagging and publishing to Reposilite.
README.md
RELEASING.md
scripts/README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues, and left some high level feedback:

  • In README.md the release helper description still says CI "builds docs/javadoc" even though the mkdocs and javadoc workflows have been removed; consider updating that sentence to reflect the new, docs-less pipeline and how javadoc jars are produced/published now.
  • The build-logic publishing block now uses PUBLISH_USER/PUBLISH_TOKEN while RELEASING.md troubleshooting refers to MAVEN_PUBLISH_USER/MAVEN_PUBLISH_TOKEN; it may be worth explicitly calling out the different secrets used for library vs plugin publishing so operators don’t confuse or misconfigure them.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In README.md the release helper description still says CI "builds docs/javadoc" even though the mkdocs and javadoc workflows have been removed; consider updating that sentence to reflect the new, docs-less pipeline and how javadoc jars are produced/published now.
- The build-logic publishing block now uses PUBLISH_USER/PUBLISH_TOKEN while RELEASING.md troubleshooting refers to MAVEN_PUBLISH_USER/MAVEN_PUBLISH_TOKEN; it may be worth explicitly calling out the different secrets used for library vs plugin publishing so operators don’t confuse or misconfigure them.

## Individual Comments

### Comment 1
<location path=".github/workflows/release.yml" line_range="101-102" />
<code_context>
+          # so the release only dispatches the Maven publish. Use workflow_dispatch
+          # (not the tag push) to avoid GitHub's GITHUB_TOKEN-pushed-tag rule that
+          # suppresses downstream workflow_run events.
+          gh workflow run publish-maven.yml --repo "$GITHUB_REPOSITORY" --ref "$TAG" \
             -f version="$VERSION"
-          echo "Dispatched docs.yml and javadoc.yml for $TAG"
+          echo "Dispatched publish-maven.yml for $TAG"
</code_context>
<issue_to_address>
**issue (bug_risk):** The `version` input passed to `publish-maven.yml` is not defined in that workflow and will cause `gh workflow run` to fail.

`publish-maven.yml` defines only `on: workflow_dispatch` and no `inputs`. Passing `-f version="$VERSION"` to `gh workflow run` will therefore fail with "workflow does not accept input 'version'". Please either add a `workflow_dispatch.inputs.version` to `publish-maven.yml` and use it, or remove the `-f version` flag from this invocation.
</issue_to_address>

### Comment 2
<location path="README.md" line_range="157-159" />
<code_context>
-push the selected branch, wait until `origin/<ref>` resolves to the pushed
-commit, and then dispatch `release.yml`. Optional flags are available for
-manual `javadoc.yml` and `publish-maven.yml` dispatches when needed.
+`release` validates the version, bumps `gradle.properties`, commits, and
+dispatches `release.yml`. CI then tags `vX.Y.Z`, builds docs/javadoc, and
+publishes the artifacts to Reposilite. See `RELEASING.md` for the full flow.
</code_context>
<issue_to_address>
**issue:** Clarify whether CI still builds docs here or only publishes Javadoc/artifacts, to keep the release description consistent.

Since this repo no longer contains the docs workflows and `RELEASING.md` describes the docs site as living in a separate MagicUtilsWebsite project, the phrase "builds docs/javadoc" here is probably inaccurate. Please reword to indicate that CI tags the release and publishes artifacts (and any Javadoc jars), without suggesting the full docs site is built in this pipeline.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +101 to 102
gh workflow run publish-maven.yml --repo "$GITHUB_REPOSITORY" --ref "$TAG" \
-f version="$VERSION"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): The version input passed to publish-maven.yml is not defined in that workflow and will cause gh workflow run to fail.

publish-maven.yml defines only on: workflow_dispatch and no inputs. Passing -f version="$VERSION" to gh workflow run will therefore fail with "workflow does not accept input 'version'". Please either add a workflow_dispatch.inputs.version to publish-maven.yml and use it, or remove the -f version flag from this invocation.

Comment thread README.md
Comment on lines +157 to +159
`release` validates the version, bumps `gradle.properties`, commits, and
dispatches `release.yml`. CI then tags `vX.Y.Z`, builds docs/javadoc, and
publishes the artifacts to Reposilite. See `RELEASING.md` for the full flow.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: Clarify whether CI still builds docs here or only publishes Javadoc/artifacts, to keep the release description consistent.

Since this repo no longer contains the docs workflows and RELEASING.md describes the docs site as living in a separate MagicUtilsWebsite project, the phrase "builds docs/javadoc" here is probably inaccurate. Please reword to indicate that CI tags the release and publishes artifacts (and any Javadoc jars), without suggesting the full docs site is built in this pipeline.

@THEROER THEROER merged commit 7d1f57e into main Jul 4, 2026
8 checks passed
@THEROER THEROER deleted the docs/reposilite-migration branch July 4, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant