MobArena plugin for Minecraft
Go to file
Andreas Troelsen e5ffe169a1 Create release drafts from "Release ..." commits.
This commit adds a second job to the build workflow that runs after the
build job has completed. The job creates a GitHub Releases _draft_ that
needs to be manually published in order to be publicly available.

The job runs if, and only if, the following conditions are met:

- The build job has completed _successfully_, i.e. if the Gradle `build`
  task fails, the draft job doesn't run.

- The `push` event that triggered the workflow happened on the `master`
  branch, i.e. releases will never be created from temporary branches.

- The commit message of the most recent commit in the `push` event that
  triggered the workflow starts with `"Release "`, i.e. there must be a
  commit that explicitly tries to "release" a build.

- The version string does _not_ end with `-SNAPSHOT`, i.e. development
  builds will not be released.

All of these conditions act as safeguards, so we don't end up releasing
something we don't want to release, but they also prevent bloating the
Releases page with a bunch of useless drafts.

The job uses the `version` output variable from the build job that was
introduced in a recent commit to extract release notes using the script
that was also introduced recently, as well as for the name of the _tag_
to create when the release is published.

Note that the `GITHUB_TOKEN` environment variable is required to be set
when we want to use the GitHub CLI in a workflow [1]. The job also has
an explicit `contents: write` permission, which is required for creating
releases from GitHub Actions.
2023-12-31 04:43:53 +01:00
.github Create release drafts from "Release ..." commits. 2023-12-31 04:43:53 +01:00
gradle/wrapper Convert to Gradle. 2023-12-09 21:08:09 +01:00
scripts Add release note extraction script. 2023-12-31 03:25:14 +01:00
src Add monster-teleporting to resource file. 2023-12-17 21:20:25 +01:00
.gitignore Convert to Gradle. 2023-12-09 21:08:09 +01:00
build.gradle.kts Include version in artifact filename. 2023-12-30 23:36:07 +01:00
changelog.md Add per-arena setting monster-teleporting. 2023-11-13 16:29:51 +01:00
gradlew Convert to Gradle. 2023-12-09 21:08:09 +01:00
gradlew.bat Convert to Gradle. 2023-12-09 21:08:09 +01:00
LICENSE Add LICENSE 2018-04-27 16:32:02 +02:00
README.md Add Hangar link to README. 2023-11-13 12:21:40 +01:00
settings.gradle.kts Convert to Gradle. 2023-12-09 21:08:09 +01:00

MobArena Build Status

MobArena is an arena-style minigame for Spigot-based Minecraft servers

Getting Started

If you don't want to compile the plugin yourself, grab a release artifact from one of these two sites:

The wiki here on Github should have all the information you need to get started using the plugin.

Getting Help

If you run into problems or need help with something, feel free to hop on the MobArena Discord server to have a chat: Instant Invite

Remember, though, that this communication channel is idle chat, which means you likely won't get a response immediately. It could take anything from a couple of seconds to a day, but your message will be seen.

Contributing

Found a bug, got a suggestion, or want to dig into the code base? There are many ways to contribute to the project!

Get started here: Contributing