Skip to content

Build

Build #49

Workflow file for this run

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