132 lines
4.5 KiB
YAML
132 lines
4.5 KiB
YAML
name: Publish snapshot
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
- 'snapshot/*'
|
|
paths-ignore:
|
|
- '**.md'
|
|
- '**.adoc'
|
|
- '**/.gitignore'
|
|
- '.github/**'
|
|
- '!.github/workflows/snapshot.yml'
|
|
|
|
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: Android environment
|
|
if: matrix.os != 'windows-latest'
|
|
shell: bash
|
|
run: |
|
|
echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV
|
|
echo "ANDROID_NDK_VERSION=25.2.9519653" >> $GITHUB_ENV
|
|
- name: Cached Android NDK
|
|
if: matrix.os != 'windows-latest'
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ format('{0}/ndk/{1}', env.ANDROID_HOME, env.ANDROID_NDK_VERSION) }}
|
|
key: ${{ runner.os }}-android-ndk-${{ env.ANDROID_NDK_VERSION }}
|
|
- name: Set up shell
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
rm.exe "C:/WINDOWS/system32/bash.EXE"
|
|
- name: Install Automake
|
|
if: matrix.os == 'macOS-latest'
|
|
run: brew install automake
|
|
- name: Install Automake (windows)
|
|
if: matrix.os == 'windows-latest'
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
path-type: minimal
|
|
update: true
|
|
install: >-
|
|
base-devel
|
|
autotools
|
|
mingw-w64-x86_64-gcc
|
|
- name: Setup Android
|
|
if: matrix.os != 'windows-latest'
|
|
shell: bash
|
|
run: |
|
|
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "ndk;$ANDROID_NDK_VERSION"
|
|
- name: Setup Android
|
|
if: matrix.os == 'windows-latest'
|
|
shell: msys2 {0}
|
|
run: |
|
|
echo "skip.android=true" > local.properties
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 11
|
|
- name: Check JVM
|
|
if: matrix.os != 'windows-latest'
|
|
run: ./gradlew jvmTest
|
|
- name: Check JVM (Windows)
|
|
if: matrix.os == 'windows-latest'
|
|
shell: msys2 {0}
|
|
run: ./gradlew jvmTest
|
|
- name: Check Linux
|
|
if: matrix.os == 'ubuntu-latest'
|
|
shell: bash
|
|
run: ./gradlew linuxX64Test
|
|
- 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: 27
|
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
ndk: ${{ env.ANDROID_NDK_VERSION }}
|
|
cmake: 3.22.1
|
|
script: ./gradlew connectedCheck
|
|
- name: Publish Linux
|
|
if: matrix.os == 'ubuntu-latest'
|
|
shell: bash
|
|
run: ./gradlew publishLinuxX64PublicationToMavenLocal :jni:jvm:linux:publishJvmPublicationToMavenLocal -PsnapshotNumber=${{ github.run_number }} -PgitRef=${{ github.ref }}
|
|
- name: Publish Windows
|
|
if: matrix.os == 'windows-latest'
|
|
shell: msys2 {0}
|
|
run: ./gradlew :jni:jvm:mingw:publishToMavenLocal -PsnapshotNumber=${{ github.run_number }} -PgitRef=${{ github.ref }}
|
|
- name: Publish MacOS
|
|
if: matrix.os == 'macOS-latest'
|
|
shell: bash
|
|
run: ./gradlew publishToMavenLocal -PsnapshotNumber=${{ github.run_number }} -PgitRef=${{ github.ref }}
|
|
- name: Copy artifact files
|
|
run: |
|
|
mkdir -p maven-local/snapshot
|
|
cp -r ~/.m2/repository/* maven-local/snapshot
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: snapshot
|
|
path: |
|
|
maven-local
|
|
!maven-local/**/maven-metadata-local.xml
|
|
|