name: JVM on: push: paths: - "**.java" - "**.kt" - "**.kts" - "**.gradle" - ".github/workflows/jvm.yml" pull_request: paths: - "**.java" - "**.kt" - "**.kts" - "**.gradle" - ".github/workflows/jvm.yml" jobs: build-and-test: name: Build and Test runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - name: Checkout uses: actions/checkout@v4 with: lfs: true - name: Setup Java uses: actions/setup-java@v4 with: cache: 'gradle' distribution: 'adopt' java-version: '11' - name: Build with Gradle run: ./gradlew build publish-preview: name: Publish Preview to GitHub Packages needs: build-and-test if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} runs-on: ubuntu-latest permissions: packages: write contents: read steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 lfs: true - name: Setup Java uses: actions/setup-java@v4 with: cache: 'gradle' distribution: 'adopt' java-version: '11' - name: Build with Gradle run: ./gradlew build - name: Publish the package run: ./gradlew publish