80 lines
1.7 KiB
YAML
80 lines
1.7 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- 'dev/**'
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 设置 Java 25
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '25'
|
|
distribution: temurin
|
|
cache: gradle
|
|
|
|
- name: 验证 Gradle Wrapper
|
|
uses: gradle/actions/wrapper-validation@v4
|
|
|
|
- name: 配置 Gradle
|
|
uses: gradle/actions/setup-gradle@v4
|
|
|
|
- name: 授予执行权限
|
|
run: chmod +x gradlew
|
|
|
|
- name: 构建插件
|
|
run: ./gradlew clean build --no-daemon
|
|
|
|
- name: 上传测试产物
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: EssentialsC-test-build
|
|
path: build/libs/EssentialsC-*.jar
|
|
if-no-files-found: error
|
|
|
|
paper-smoke-test:
|
|
name: Paper ${{ matrix.paper }} / Java ${{ matrix.java }}
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- paper: '1.21.11'
|
|
java: '21'
|
|
- paper: '26.1.2'
|
|
java: '25'
|
|
- paper: '26.2'
|
|
java: '25'
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 设置 Java ${{ matrix.java }}
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: ${{ matrix.java }}
|
|
distribution: temurin
|
|
|
|
- name: 下载插件产物
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: EssentialsC-test-build
|
|
path: build/libs
|
|
|
|
- name: 启动 Paper 并验证插件
|
|
run: bash scripts/smoke-test-paper.sh '${{ matrix.paper }}'
|