mirror of
https://github.com/Minestom/Minestom.git
synced 2024-11-18 00:25:30 +01:00
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
name: Build and test Minestom
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: 17
|
|
- name: Grant execute permission for gradlew
|
|
run: chmod +x gradlew
|
|
- name: Setup gradle cache
|
|
uses: burrunan/gradle-cache-action@v1
|
|
with:
|
|
save-generated-gradle-jars: false
|
|
save-local-build-cache: false
|
|
save-gradle-dependencies-cache: true
|
|
save-maven-dependencies-cache: true
|
|
# Ignore some of the paths when caching Maven Local repository
|
|
maven-local-ignore-paths: |
|
|
net/minestom/
|
|
- name: Build Minestom
|
|
run: ./gradlew classes testClasses
|
|
- name: Run Minestom tests
|
|
run: ./gradlew test
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
if: github.event.pull_request.head.repo.full_name == github.repository
|
|
env:
|
|
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
|
|
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
|
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
|
GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
java-version: '17'
|
|
distribution: 'temurin'
|
|
- name: Set outputs
|
|
id: vars
|
|
run: |
|
|
export ACTUAL=${{ github.event.pull_request.head.sha }}
|
|
echo "short_commit_hash=${ACTUAL::10}" >> $GITHUB_OUTPUT
|
|
- name: Publish to Sonatype
|
|
env:
|
|
MINESTOM_VERSION: ${{ github.head_ref }}-${{ steps.vars.outputs.short_commit_hash }}
|
|
MINESTOM_CHANNEL: snapshot
|
|
run: |
|
|
./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
|
|
echo "Version: ${SHORT_COMMIT_HASH}" >> $GITHUB_STEP_SUMMARY
|