From 0bd8d1294e94161ea681b91d6344a12633fb8c86 Mon Sep 17 00:00:00 2001 From: Krzysztof Moch Date: Fri, 24 Nov 2023 15:01:45 +0100 Subject: [PATCH] chore(ci): add basic example build --- .github/workflows/build-android.yml | 50 +++++++++++++++++++++ .github/workflows/build-ios.yml | 67 +++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 .github/workflows/build-android.yml create mode 100644 .github/workflows/build-ios.yml diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml new file mode 100644 index 0000000000..a06242371f --- /dev/null +++ b/.github/workflows/build-android.yml @@ -0,0 +1,50 @@ +name: Build Android + +on: + push: + branches: + - master + paths: + - '.github/workflows/build-android.yml' + - 'android/**' + - 'examples/basic/android/**' + - 'yarn.lock' + - 'examples/basic/yarn.lock' + pull_request: + paths: + - '.github/workflows/build-android.yml' + - 'android/**' + - 'examples/basic/android/**' + - 'yarn.lock' + - 'examples/basic/yarn.lock' + +jobs: + build: + name: Build Android Example App + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup JDK 11 + uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: 11 + java-package: jdk + + - name: Install node_modules + uses: ./.github/actions/setup-node + with: + working-directory: examples/basic + + - name: Restore Gradle cache + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Run Gradle Build for basic example + run: cd examples/basic/android && ./gradlew assembleDebug --build-cache && cd ../../.. \ No newline at end of file diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml new file mode 100644 index 0000000000..2ae467af20 --- /dev/null +++ b/.github/workflows/build-ios.yml @@ -0,0 +1,67 @@ +name: Build iOS + +on: + push: + branches: + - main + paths: + - '.github/workflows/build-ios.yml' + - 'ios/**' + - '*.podspec' + - 'examples/basic/ios/**' + pull_request: + paths: + - '.github/workflows/build-ios.yml' + - 'ios/**' + - '*.podspec' + - 'examples/basic/ios/**' + +jobs: + build: + name: Build iOS Example App + runs-on: macOS-latest + defaults: + run: + working-directory: examples/basic/ios + steps: + - uses: actions/checkout@v4 + + - name: Install node_modules + uses: ./.github/actions/setup-node + with: + working-directory: examples/basic + + - name: Restore buildcache + uses: mikehardy/buildcache-action@v2 + continue-on-error: true + + - name: Setup Ruby (bundle) + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.10 + bundler-cache: true + + - name: Restore Pods cache + uses: actions/cache@v3 + with: + path: | + examples/basic/ios/Pods + ~/Library/Caches/CocoaPods + ~/.cocoapods + key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} + restore-keys: | + ${{ runner.os }}-pods- + - name: Install Pods + run: pod install + - name: Install xcpretty + run: gem install xcpretty + - name: Build App + run: "set -o pipefail && xcodebuild \ + -derivedDataPath build -UseModernBuildSystem=YES \ + -workspace videoplayer.xcworkspace \ + -scheme videoplayer \ + -sdk iphonesimulator \ + -configuration Debug \ + -destination 'platform=iOS Simulator,name=iPhone 11 Pro' \ + build \ + CODE_SIGNING_ALLOWED=NO | xcpretty" \ No newline at end of file