Build #43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 'Build' | |
| on: | |
| schedule: | |
| - cron: '37 04,16 * * *' | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| shell: "bash" | |
| env: | |
| GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
| RUNNING_ON_CI: "true" | |
| LC_ALL: C.UTF-8 | |
| LANG: C.UTF-8 | |
| ASSEMBLE_ONLY: "true" | |
| jobs: | |
| macos: | |
| name: Build on macOS | |
| runs-on: macos-latest | |
| env: | |
| BUILD_TARGETS: ios-device-arm64,ios-simulator-arm64,ios-simulator-x64,tvos-device-arm64,tvos-simulator-arm64,tvos-simulator-x64,watchos-device-arm32,watchos-device-arm64,watchos-device-arm64_32,watchos-simulator-arm64,watchos-simulator-x64,macos-arm64,macos-x64 | |
| steps: | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Install JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "17" | |
| distribution: "temurin" | |
| cache: "gradle" | |
| check-latest: true | |
| - name: Build | |
| run: ./gradlew assembleAll | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: "artifacts-macos" | |
| path: "build/conan/artifacts" | |
| if-no-files-found: "ignore" | |
| - name: Bundle the build report | |
| if: failure() | |
| run: find . -type d -name 'reports' | zip -@ -r build-report.zip | |
| - name: Upload the build report | |
| if: failure() | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: build-report | |
| path: build-report.zip | |
| linux: | |
| name: Build on Linux | |
| runs-on: ubuntu-latest | |
| env: | |
| BUILD_TARGETS: android-arm64,android-arm32,android-x64,android-x86,wasm | |
| steps: | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Install JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "17" | |
| distribution: "temurin" | |
| cache: "gradle" | |
| check-latest: true | |
| - name: Build | |
| run: ./gradlew assembleAll | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: "artifacts-linux" | |
| path: "build/conan/artifacts" | |
| if-no-files-found: "ignore" | |
| - name: Bundle the build report | |
| if: failure() | |
| run: find . -type d -name 'reports' | zip -@ -r build-report.zip | |
| - name: Upload the build report | |
| if: failure() | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: build-report | |
| path: build-report.zip | |
| linux2: | |
| name: Build on Linux 2 | |
| runs-on: ubuntu-latest | |
| env: | |
| BUILD_TARGETS: linux-x64,linux-arm64 | |
| container: | |
| image: ubuntu:20.04 | |
| steps: | |
| - name: apt install | |
| run: apt update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt install python3-venv g++-8-aarch64-linux-gnu g++-8 git cmake -y | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Install JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "17" | |
| distribution: "temurin" | |
| cache: "gradle" | |
| check-latest: true | |
| - name: Build | |
| run: ./gradlew assembleAll | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: "artifacts-linux2" | |
| path: "build/conan/artifacts" | |
| if-no-files-found: "ignore" | |
| - name: Bundle the build report | |
| if: failure() | |
| run: find . -type d -name 'reports' | zip -@ -r build-report.zip | |
| - name: Upload the build report | |
| if: failure() | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: build-report | |
| path: build-report.zip | |
| windows: | |
| name: Build on Windows | |
| runs-on: windows-latest | |
| env: | |
| BUILD_TARGETS: mingw-x64,windows-x64 | |
| steps: | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Install JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "17" | |
| distribution: "temurin" | |
| cache: "gradle" | |
| check-latest: true | |
| - name: Build | |
| run: ./gradlew assembleAll | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: "artifacts-windows" | |
| path: "build/conan/artifacts" | |
| if-no-files-found: "ignore" | |
| - name: Bundle the build report | |
| if: failure() | |
| run: find . -type d -name 'reports' | zip -@ -r build-report.zip | |
| - name: Upload the build report | |
| if: failure() | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: build-report | |
| path: build-report.zip | |
| aggregate: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - macos | |
| - linux | |
| - linux2 | |
| - windows | |
| env: | |
| ASSEMBLE_ONLY: "false" | |
| steps: | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Install JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "17" | |
| distribution: "temurin" | |
| cache: "gradle" | |
| check-latest: true | |
| - name: Download all build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: "artifacts-*" | |
| path: "build/conan/artifacts" | |
| merge-multiple: true | |
| - name: Publish package | |
| run: ./gradlew publishToMavenCentral | |
| env: | |
| ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.PUBLICATION_USERNAME }} | |
| ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.PUBLICATION_PASSWORD }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY_RING }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} | |
| - name: Bundle the build report | |
| if: failure() | |
| run: find . -type d -name 'reports' | zip -@ -r build-report.zip | |
| - name: Upload the build report | |
| if: failure() | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: build-report | |
| path: build-report.zip |