Skip to content

Instantly share code, notes, and snippets.

@DartPower
Last active August 31, 2025 14:02
Show Gist options
  • Select an option

  • Save DartPower/a8f868806e1184139b7cf7e3b56113ef to your computer and use it in GitHub Desktop.

Select an option

Save DartPower/a8f868806e1184139b7cf7e3b56113ef to your computer and use it in GitHub Desktop.
mcMMO github workflow for uploading jar

mcMMO

# This workflow automatically tests new commits and pull requests as they come in.
# Note that this does not upload any artifacts, you will need to compile mcMMO manually
# if you wish to create the actual jar.
name: Compile and test

on:
  # We run our tests whenever the pom or a source file was touched.
  # There is no need to run Maven when only the changelog was touched.
  # We may also want to re-run this workflow when the workflow file itself
  # was updated too.
  push:
    paths:
    - 'src/**'
    - 'pom.xml'
    - '.github/workflows/maven.yml'
    branches: [ master ]

  # Whenever someone submits a new pull request which modified the pom or a source file,
  # we want to ensure it compiles successfully and that all tests will pass.
  pull_request:
    paths:
    - 'src/**'
    - 'pom.xml'
    branches: [ master ]

jobs:
  compile:
    name: Maven compiler
    runs-on: ubuntu-latest
    steps:

    # 1. Check out the current working tree
    - name: Checkout repository
      uses: actions/checkout@v4

    # 2. Setup Java 17 JDK (Adopt)
    - name: Java 17 setup
      uses: actions/setup-java@v4
      with:
        distribution: 'adopt'
        java-package: jdk
        java-version: '17'

    # 3. Setup local Maven package cache to speed up building
    - name: Cache Maven packages
      uses: actions/cache@v4
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
        restore-keys: ${{ runner.os }}-m2

    # 4. Build via Maven 
    - name: Build via Maven
      run: mvn verify -B --file pom.xml -DdisableXmlReport=true

    # 5. Upload artifact
    - name: Upload artifact
      uses: actions/upload-artifact@v4
      with:
        path: /home/runner/work/mcMMO/mcMMO/target/

mcMMO-Classic

name: Build

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Set up JDK 1.8
      uses: actions/setup-java@v4
      with:
        java-version: '8.0.462+8'
        distribution: 'adopt'
    - name: Build with Maven
      run: mvn -B package --file pom.xml
    - uses: actions/upload-artifact@v4
      with:
        path: /home/runner/work/mcMMO-Classic/mcMMO-Classic/target/*.jar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment