Skip to content

Unbundle kotlinx.coroutines #2884

Unbundle kotlinx.coroutines

Unbundle kotlinx.coroutines #2884

Workflow file for this run

# Workflow to run tests
name: CI
on:
push:
branches: [ main, '[0-9]+.[0-9]+.[0-9]+-release*' ]
pull_request:
branches: [ main, '[0-9]+.[0-9]+.[0-9]+-release*' ]
workflow_dispatch:
branches: [ main, '[0-9]+.[0-9]+.[0-9]+-release*' ]
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
is_pull_request:
- ${{ github.event_name == 'pull_request' }}
exclude:
# Don't run slow targets on pull request.
- is_pull_request: true
os: macos-latest
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
steps:
- name: configure Pagefile
if: matrix.os == 'windows-latest'
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 8
maximum-size: 16
disk-root: "D:"
- name: Setup Java 17
uses: actions/setup-java@v1.4.3
with:
java-version: '17'
java-package: jdk
architecture: x64
# Checkout
- uses: actions/checkout@v2
# Build cache
- name: Cache Gradle Cache
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
# An ordered list of keys to use for restoring the cache if no cache hit occurred for key
restore-keys: |
${{ runner.os }}-gradle-
- name: Cache gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
# Run ktlint
- name: lint
if: matrix.os == 'ubuntu-latest'
run: ./gradlew ktlint
# Check API compatibility
- name: API compatibility check
if: matrix.os == 'ubuntu-latest'
run: ./gradlew :api:checkApi
# Run tests
- name: test
shell: bash
run: ./gradlew --stacktrace --info test
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: test-reports-${{ matrix.branch }}-${{ matrix.os }}
path: |
compiler-plugin/build/reports
integration-tests/build/reports
gradle-plugin/build/reports
common-util/build/reports
kotlin-analysis-api/build/reports