Github action for testing minecraft plugins initialization during server load on different versions of paper server.
- Checkout repository (in the context of the action caller)
- Download plugin build artifact from previous workflow build job
- Set up Java 17
- Setup Node 16
- Execute index.js file
- Create and initialize
eula.txt
- Fetch latest paper server build
- Download paper server jar (server version from matrix variable as input data to this action)
- Execute mc server
- Create an action file inside
./github/workflows
in the scope of your plugin repository and configure the steps if necessary:
name: Build with Maven and Do Runtime Test
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2.3.3
- name: Set up JDK 16
uses: actions/setup-java@v1.4.3
with:
java-version: 16
- name: Maven Build
run: mvn clean package --file pom.xml
- name: Upload the artifact
uses: actions/upload-artifact@v3
with:
name: artifact-${{ github.event.number }}
path: 'target/FNAmplifications*.jar' # Change this according to the location and filename of your packaged jar, you may use wildcards
runtime-test:
name: Plugin Runtime Test
needs: [build]
runs-on: ubuntu-latest
strategy:
matrix:
include:
- mcVersion: '1.16.5'
javaVersion: '16'
- mcVersion: '1.17.1'
javaVersion: '17'
- mcVersion: '1.18.2'
javaVersion: '18'
- mcVersion: '1.19.4'
javaVersion: '19'
- mcVersion: '1.20.1'
javaVersion: '20'
steps:
- uses: FN-FAL113/minecraft-plugin-runtime-test@v1.1.2 # specify action version, use latest as possible
with:
server-version: ${{ matrix.mcVersion }}
java-version: ${{ matrix.javaVersion }}
artifact-name: artifact-${{ github.event.number }}
- Slimefun
Suggestions are open for plugins that depends on other plugins. This will be based off from a resource file soon in order to accomomdate more plugins or so this repo can be forked to support your plugins.