Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflows update #775

Merged
merged 7 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,68 +10,68 @@ jobs:
build:
strategy:
matrix:
os: [ macOS-latest, ubuntu-latest ]
os: [ macos-14, ubuntu-latest ]
runs-on: ${{matrix.os}}
name: Build on ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Java
uses: actions/setup-java@v3
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-latest'
uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98
if: matrix.os == 'macos-14'
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: '14.2.0'
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@v1
uses: gradle/wrapper-validation-action@v2
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/version-2.0' }}
arguments: |
build
publishAllFilteredToMavenLocal
-Ptarget=all_linux_hosted
run: >
./gradlew
build
publishAllFilteredToMavenLocal
-Ptarget=all_linux_hosted
- name: Build macOS
if: matrix.os == 'macOS-latest'
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/version-2.0' }}
arguments: |
:reaktive-annotations:build
:utils:build
:reaktive-testing:build
:reaktive:build
:coroutines-interop:build
:sample-mpp-module:build
publishAllFilteredToMavenLocal
-Ptarget=all_macos_hosted
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-latest'
if: matrix.os == 'macos-14'
working-directory: sample-ios-app
run: >
xcodebuild
-project sample-ios-app.xcodeproj
-scheme "sample-ios-app"
-sdk "iphonesimulator"
-arch "x86_64"
-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@master
uses: actions/upload-artifact@v4
with:
name: error-report
path: build-reports.zip
62 changes: 33 additions & 29 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,62 +23,66 @@ jobs:

publish:
name: Publish
runs-on: macOS-latest
runs-on: macos-14
needs: create-staging-repository
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Select Xcode version
uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: '14.2.0'
- name: Publish
uses: gradle/gradle-build-action@v2
xcode-version: '15.2.0'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true
arguments: |
publishAllFilteredToSonatype
-Psigning.password=${{ secrets.SIGNING_PASSWORD }}
-Psonatype.username=${{ secrets.SONATYPE_USERNAME }}
-Psonatype.password=${{ secrets.SONATYPE_PASSWORD }}
-Psonatype.repository=${{ needs.create-staging-repository.outputs.repository-id }}
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Publish
run: >
./gradlew
publishAllFilteredToSonatype
-Psigning.password=${{ secrets.SIGNING_PASSWORD }}
-Psonatype.username=${{ secrets.SONATYPE_USERNAME }}
-Psonatype.password=${{ secrets.SONATYPE_PASSWORD }}
-Psonatype.repository=${{ needs.create-staging-repository.outputs.repository-id }}

check:
name: Check publication
runs-on: macOS-latest
runs-on: macos-14
needs: [ create-staging-repository, publish ]
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Select Xcode version
uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: '14.2.0'
- name: Check publication
uses: gradle/gradle-build-action@v2
xcode-version: '15.2.0'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true
# Exclude kotlinStoreYarnLock because publication check project has different from the main project
# dependencies, and the task fails the build. Ignoring it looks fine.
arguments: |
:tools:check-publication:build
--exclude-task kotlinStoreYarnLock
-Pcheck_publication
-Psonatype.username=${{ secrets.SONATYPE_USERNAME }}
-Psonatype.password=${{ secrets.SONATYPE_PASSWORD }}
-Psonatype.repository=${{ needs.create-staging-repository.outputs.repository-id }}
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Check publication
run: >
./gradlew
:tools:check-publication:build
--exclude-task kotlinStoreYarnLock
-Pcheck_publication
-Psonatype.username=${{ secrets.SONATYPE_USERNAME }}
-Psonatype.password=${{ secrets.SONATYPE_PASSWORD }}
-Psonatype.repository=${{ needs.create-staging-repository.outputs.repository-id }}

close-staging-repository:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/jmh/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies {
}

kotlin {
jvmToolchain(11)
jvmToolchain(17)
}

jmh {
Expand Down
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ kotlin.code.style=official
org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configuration-cache=true
# https://youtrack.jetbrains.com/issue/KT-64851
org.gradle.configuration-cache=false

# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with the app's APK
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 2 additions & 2 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -144,15 +144,15 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down
2 changes: 1 addition & 1 deletion rxjava2-interop/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ compileKotlin {
}

compileJava {
targetCompatibility(JavaVersion.VERSION_1_8)
targetCompatibility = JavaVersion.VERSION_1_8
}

publishing {
Expand Down
2 changes: 1 addition & 1 deletion rxjava3-interop/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ compileKotlin {
}

compileJava {
targetCompatibility(JavaVersion.VERSION_1_8)
targetCompatibility = JavaVersion.VERSION_1_8
}

publishing {
Expand Down