Dominion/.github/workflows/main.yml

63 lines
1.9 KiB
YAML
Raw Normal View History

name: Java CI-CD with Gradle
2024-02-04 17:54:17 +08:00
on:
push:
tags:
- '*'
jobs:
build:
2024-09-11 16:09:26 +08:00
# 配置权限
2024-02-04 17:54:17 +08:00
permissions: write-all
runs-on: ubuntu-latest
steps:
2024-08-26 08:55:32 +08:00
- uses: actions/checkout@v3
2024-09-11 10:37:09 +08:00
- name: "Set up JDK 21"
2024-08-26 08:55:32 +08:00
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'zulu'
cache: gradle
- name: "Build with Gradle"
2024-10-07 16:15:51 +08:00
run: |
./gradlew clean
./gradlew shadowJar -PBuildFull=false
./gradlew shadowJar -PBuildFull=true
- name: "Stage"
run: |
mkdir -p staging
mv build/libs/*.jar staging/
2024-09-11 16:09:26 +08:00
- name: "Build & test"
run: |
TAG=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
echo "done!"
- name: "GitHub Release"
uses: "marvinpinto/action-automatic-releases@latest"
2024-08-26 08:55:32 +08:00
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
2024-09-11 16:09:26 +08:00
automatic_release_tag: "${{ steps.build.outputs.TAG }}"
2024-08-26 08:55:32 +08:00
prerelease: false
files: |
2024-09-11 15:03:47 +08:00
staging/*.jar
2024-09-11 11:01:30 +08:00
- name: "Modrinth Release"
2024-09-11 10:53:26 +08:00
uses: dsx137/modrinth-release-action@main
env:
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
2024-09-11 10:37:09 +08:00
with:
2024-09-11 16:09:26 +08:00
name: ${{ env.AUTOMATIC_RELEASES_TAG }}
2024-09-11 10:37:09 +08:00
project_id: vVZc7jAV
2024-09-11 11:27:58 +08:00
loaders: bukkit,folia,paper,purpur,spigot
2024-09-11 10:53:26 +08:00
game_versions: 1.20.1:1.20.6,1.21,1.21.1
2024-09-11 16:09:26 +08:00
version_number: ${{ env.AUTOMATIC_RELEASES_TAG }}
2024-09-11 10:53:26 +08:00
files: |
staging/*-lite.jar
2024-09-11 16:09:26 +08:00
changelog: "See https://github.com/ColdeZhang/Dominion/releases/tag/${{ env.AUTOMATIC_RELEASES_TAG }}"
2024-09-11 14:12:29 +08:00
version_type: beta
2024-09-11 10:53:26 +08:00
featured: false
2024-09-11 14:12:29 +08:00
updatable: false
delete_old_files: false
- name: "Hangar Release"
env:
HANGAR_TOKEN: ${{ secrets.HANGAR_API_TOKEN }}
run: ./gradlew build publishPluginPublicationToHangar -PBuildFull=false