Skip to content

Workflows update

Workflows update #1148

Workflow file for this run

name: Build
on:
push:
branches:
- master
pull_request:
jobs:
build:
strategy:
matrix:
os: [ macos-14, ubuntu-latest ]
runs-on: ${{matrix.os}}
name: Build on ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Install dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libgtk-3-dev nodejs chromium-browser
- name: Select Xcode version
if: matrix.os == 'macos-14'
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: '15.2.0'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-home-cache-cleanup: true
cache-read-only: ${{ github.ref != 'refs/heads/master' }}
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
run: >
./gradlew
build
publishAllFilteredToMavenLocal
-Ptarget=all_linux_hosted
- name: Build macOS
if: matrix.os == 'macos-14'
run:
./gradlew
:reaktive-annotations:build
:utils:build
:reaktive-testing:build
:reaktive:build
:coroutines-interop:build
:sample-mpp-module:build
publishAllFilteredToMavenLocal
-Ptarget=all_macos_hosted
# Do not invoke from Gradle, it creates circular dependency (Gradle invokes XCode invokes Gradle).
- name: Build iOS app
if: matrix.os == 'macos-14'
working-directory: sample-ios-app
run: >
xcodebuild
-project sample-ios-app.xcodeproj
-scheme "sample-ios-app"
-sdk "iphonesimulator"
-arch "arm64"
- name: Bundle the build report
if: failure()
run: find . -type d -name 'reports' | zip -@ -r build-reports.zip
- name: Upload the build report
if: failure()
uses: actions/upload-artifact@v4
with:
name: error-report
path: build-reports.zip