name: CI on: push: branches: - main pull_request: branches: - main jobs: build_plugin: runs-on: ubuntu-24.04 permissions: contents: read pull-requests: write issues: write steps: - name: Checkout repository uses: actions/checkout@v6 - name: Setup Development Environment uses: jdx/mise-action@v3 - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 - name: Check ktlint run: ./gradlew ktlintCheck --no-daemon - name: Run tests run: ./gradlew test --no-daemon continue-on-error: true - name: Post test results to PR if: github.event_name == 'pull_request' && always() env: GH_TOKEN: ${{ github.token }} GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_REF: ${{ github.ref }} run: .github/scripts/post-test-results.sh - name: Build with shadowJar run: ./gradlew :platform-paper:shadowJar :platform-velocity:shadowJar --parallel --no-daemon - name: Generate Dokka run: ./gradlew :dokka:dokkaGenerate --no-daemon - name: Upload build artifacts uses: actions/upload-artifact@v6 if: success() with: name: LunaticChat-${{ github.sha }} path: | platform-paper/build/libs/LunaticChat-*-paper.jar platform-velocity/build/libs/LunaticChat-*-velocity.jar retention-days: 7 build_docs: runs-on: ubuntu-24.04 defaults: run: working-directory: "./docs" steps: - name: Checkout repository uses: actions/checkout@v6 - name: Setup Development Environment uses: jdx/mise-action@v3 with: working_directory: . - name: Install dependencies run: bun install - name: Check lints run: bun run lint - name: Build documentation run: bun run build