Skip to content

Make Schedule a fun interface #3202

Make Schedule a fun interface

Make Schedule a fun interface #3202

Workflow file for this run

name: "pull_request"
on: pull_request
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.kotlin.dsl.internal.io.timeout=120000 -Dorg.gradle.jvmargs="-Xmx5g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8"
concurrency:
group: pull_request-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Knit and API checks
run: ./gradlew knitCheck apiCheck --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-check'
path: '**/build/reports/**'
ios_watchos:
runs-on: macos-14
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: iOS and watchOS tests
run: ./gradlew iosSimulatorArm64Test iosX64Test watchosSimulatorArm64Test watchosX64Test --parallel --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-ios_watchos'
path: '**/build/reports/**'
update_api:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Update API files
run: ./gradlew apiDump
- name: Commit updated API files
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Auto-update API files
file_pattern: arrow-libs/**/api/*.api
spotless:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Apply Spotless rules
run: ./gradlew spotlessApply
- name: Commit newly formatted files
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Auto-apply Spotless rules
file_pattern: arrow-libs/**/*.kt
macos_tvos:
runs-on: macos-14
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: macOS and tvOS tests
run: ./gradlew macosArm64Test macosX64Test tvosSimulatorArm64Test tvosX64Test --parallel --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-macos_tvos'
path: '**/build/reports/**'
windows:
runs-on: windows-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Windows (MinGW-w64) tests
run: ./gradlew mingwX64Test --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-windows'
path: '**/build/reports/**'
jvm:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: JVM tests
run: ./gradlew jvmTest --scan
- name: Code coverage
if: "! github.event.pull_request.head.repo.fork "
run: ./gradlew koverXmlReport
- name: Add code coverage report
if: "! github.event.pull_request.head.repo.fork "
id: kover
uses: mi-kas/kover-report@v1
with:
path: build/reports/kover/report.xml
token: ${{ secrets.GITHUB_TOKEN }}
title: Kover Report
update-comment: true
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-jvmTest'
path: '**/build/reports/**'
js:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Upgrade yarn.lock
run: ./gradlew kotlinUpgradeYarnLock
continue-on-error: true
- name: JS tests
run: ./gradlew jsTest --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-js'
path: '**/build/reports/**'
linux:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Linux (x64) tests
run: ./gradlew linuxX64Test --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-linux'
path: '**/build/reports/**'
wasm:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }}
- name: Compile WebAssembly
run: ./gradlew wasmJsApiBuild wasmJsJar wasmJsTest -Penable_wasm=true --scan
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: 'reports-wasm'
path: '**/build/reports/**'