Skip to content
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
29 changes: 29 additions & 0 deletions .github/workflows/analyze.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: "Analyze"
on:
push:
branches:
- main
- release/**
pull_request:
paths-ignore:
- "**/*.md"
-
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
analyze:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Analyze
run: ./gradlew apiCheck detekt
62 changes: 0 additions & 62 deletions .github/workflows/build.yml

This file was deleted.

124 changes: 124 additions & 0 deletions .github/workflows/kotlin-multiplatform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: "Lib: sentry-kotlin-multiplatform"
on:
push:
branches:
- main
- release/**
pull_request:
paths-ignore:
- "**/*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-apple:
runs-on: macos-latest-large

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Konan
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 #v3
with:
path: ~/.konan
key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-konan-

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: Apple build
run: |
./scripts/build-apple.sh sentry-kotlin-multiplatform
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

build-apple-samples:
runs-on: macos-latest-large

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Konan
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 #v3
with:
path: ~/.konan
key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-konan-

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: Apple build
run: |
make buildAppleSamples

build-jvm:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: JVM build
run: |
./scripts/build-jvm.sh sentry-kotlin-multiplatform
make createCoverageReports
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3g"

# Kover coverage currently only works for JVM
- name: Upload coverage to Codecov
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # pin@v3
with:
name: sentry-kotlin-multiplatform

archive-distribution:
runs-on: macos-latest-large

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: DistZip
run: |
./scripts/build-distribution.sh sentry-kotlin-multiplatform

- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: ${{ github.sha }}
if-no-files-found: error
path: |
./*/build/distributions/*.zip
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,12 @@ buildProject:

# Build Apple Samples
buildAppleSamples:
./gradlew build -p sentry-samples
cd ./sentry-samples/kmp-app-cocoapods/iosApp/iosApp && touch iosApp.xcconfig
cd ./sentry-samples/kmp-app-spm/iosApp && touch iosApp.xcconfig
cd ./sentry-samples/kmp-app-mvvm-di/iosApp && touch iosApp.xcconfig
sudo xcode-select --switch /Applications/Xcode.app && /usr/bin/xcodebuild -version
cd ./sentry-samples/kmp-app-cocoapods/iosApp; pod install
xcodebuild -workspace ./sentry-samples/kmp-app-cocoapods/iosApp/iosApp.xcworkspace -scheme iosApp -configuration Debug -sdk iphonesimulator -arch arm64
xcodebuild -project ./sentry-samples/kmp-app-spm/iosApp.xcodeproj -scheme iosApp -configuration Debug -sdk iphonesimulator -arch arm64
xcodebuild -project ./sentry-samples/kmp-app-mvvm-di/iosApp.xcodeproj -scheme iosApp -configuration Debug -sdk iphonesimulator -arch arm64


Expand Down
27 changes: 27 additions & 0 deletions scripts/build-apple.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

if [ -z "$1" ]; then
echo "Please provide a gradle project name."
exit 1
fi

PROJECT_NAME="$1"

./gradlew "macosX64Test" \
"iosX64Test" \
"watchosX64Test" \
"tvosX64Test" \
"publishKotlinMultiplatformPublicationToMavenLocal" \
"publishIosArm64PublicationToMavenLocal" \
"publishIosSimulatorArm64PublicationToMavenLocal" \
"publishIosX64PublicationToMavenLocal" \
"publishMacosX64PublicationToMavenLocal" \
"publishMacosArm64PublicationToMavenLocal" \
"publishWatchosArm32PublicationToMavenLocal" \
"publishWatchosArm64PublicationToMavenLocal" \
"publishWatchosSimulatorArm64PublicationToMavenLocal" \
"publishWatchosX64PublicationToMavenLocal" \
"publishTvosArm64PublicationToMavenLocal" \
"publishTvosSimulatorArm64PublicationToMavenLocal" \
"publishTvosX64PublicationToMavenLocal" \
-p "${PROJECT_NAME}"
9 changes: 9 additions & 0 deletions scripts/build-distribution.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

if [ -z "$1" ]; then
echo "Please provide a gradle project name."
exit 1
fi

PROJECT_NAME="$1"
./gradlew "distzip" -p "${PROJECT_NAME}"
15 changes: 15 additions & 0 deletions scripts/build-jvm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

if [ -z "$1" ]; then
echo "Please provide a gradle project name."
exit 1
fi

PROJECT_NAME="$1"
./gr
./gradlew "testDebugUnitTest" \
"testReleaseUnitTest" \
"publishAndroidReleasePublicationToMavenLocal" \
"publishJvmPublicationToMavenLocal" \
"publishKotlinMultiplatformPublicationToMavenLocal" \
-p "${PROJECT_NAME}"
2 changes: 1 addition & 1 deletion sentry-samples/kmp-app-cocoapods/iosApp/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756

COCOAPODS: 1.12.0
COCOAPODS: 1.13.0