name: Publish release on: release: types: [published] jobs: upload: name: Upload runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macOS-latest, windows-latest] steps: - name: Check out uses: actions/checkout@v2 with: submodules: 'true' - name: Cached Konan uses: actions/cache@v2 with: path: ~/.konan key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: ${{ runner.os }}-konan- - name: Cached Gradle uses: actions/cache@v2 with: path: ~/.gradle key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: ${{ runner.os }}-gradle- - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Install Automake if: matrix.os == 'macOS-latest' run: brew install automake - name: Set up shell if: matrix.os == 'windows-latest' run: | echo ::add-path::C:\msys64\usr\bin\ rm.exe "C:/WINDOWS/system32/bash.EXE" - name: Check JVM shell: bash run: ./gradlew jvmTest - name: Check Linux if: matrix.os == 'ubuntu-latest' shell: bash run: ./gradlew linuxTest - name: Check iOS if: matrix.os == 'macOS-latest' shell: bash run: ./gradlew iosX64Test - name: Check Android if: matrix.os == 'macOS-latest' uses: reactivecircus/android-emulator-runner@v2 with: api-level: 29 ndk: 21.3.6528147 cmake: 3.10.2.4988404 script: ./gradlew connectedCheck - name: Publish Linux if: matrix.os == 'ubuntu-latest' env: BINTRAY_USER: ${{ secrets.bintray_user }} BINTRAY_APIKEY: ${{ secrets.bintray_apikey }} shell: bash run: ./gradlew publishLinuxPublicationToBintrayRepository :jni:jvm:linux:publishJvmPublicationToBintrayRepository - name: Publish Windows if: matrix.os == 'windows-latest' env: BINTRAY_USER: ${{ secrets.bintray_user }} BINTRAY_APIKEY: ${{ secrets.bintray_apikey }} shell: bash run: ./gradlew :jni:jvm:mingw:publishJvmPublicationToBintrayRepository - name: Publish MacOS if: matrix.os == 'macOS-latest' env: BINTRAY_USER: ${{ secrets.bintray_user }} BINTRAY_APIKEY: ${{ secrets.bintray_apikey }} shell: bash run: ./gradlew publish - name: Discard if: ${{ failure() || cancelled() }} env: BINTRAY_USER: ${{ secrets.bintray_user }} BINTRAY_APIKEY: ${{ secrets.bintray_apikey }} run: ./gradlew postBintrayDiscard