Files
EssentialsC/.github/workflows/build.yml
T

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 }}'