Skip to content

Force update all dependencies (major) #81

Force update all dependencies (major)

Force update all dependencies (major) #81

Workflow file for this run

name: "CI"
on:
pull_request:
push:
branches:
- main
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node: [20]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- run: npm ci
- run: npm run all
test-cordova:
name: Test (Cordova)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- name: Setup environment
uses: ./
with:
legacy: true
install-pods: ${{ matrix.os == 'macos-latest' }}
- name: Verify CLI
run: |
cordova -v
ionic info || true
java -version
javac -version
- name: Build Android sample
run: |
ionic start testapp blank --cordova --type angular --no-link --no-git --no-interactive --confirm
cd testapp
ionic cordova platform add android@latest
ionic cordova build android
- name: Upload Android APK (Cordova)
uses: actions/upload-artifact@v5
with:
name: android-apk-cordova-${{ matrix.os }}
path: |
testapp/platforms/android/app/build/outputs/apk/**/*.apk
retention-days: 7
- name: Build iOS sample (macOS only)
if: ${{ matrix.os == 'macos-latest' }}
run: |
cd testapp
ionic cordova platform add ios@latest
# run the patch script from the repository root to adjust generated iOS files in CI
bash ../scripts/patch-ios.sh platforms/ios
# verify CocoaPods and ensure specs are up-to-date (redundant with script but safe)
pod --version || true
if [ -f platforms/ios/Podfile ]; then (cd platforms/ios && pod install --repo-update); fi
# build and instruct Cordova/Xcode to use the xcconfig the script creates
XCOV=$(pwd)/platforms/ios/xcconfigs/ci-overrides.xcconfig
ionic cordova build ios --no-interactive -- \
--buildFlag="-xcconfig ${XCOV}" \
--buildFlag="-sdk iphonesimulator" \
--buildFlag="-destination generic/platform=iOS Simulator"
test-capacitor:
name: Test (Capacitor)
runs-on: ${{ matrix.os }}
env:
CAPACITOR_ANDROID_STUDIO_PATH: /usr/bin/false
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- name: Setup environment
uses: ./
with:
legacy: false
install-pods: ${{ matrix.os == 'macos-latest' }}
- name: Verify CLI
run: |
cap --version
ionic info || true
java -version
javac -version
- name: Build Android sample
run: |
ionic start testapp blank --type angular --no-link --no-git --no-interactive --confirm
cd testapp
ionic cap add android
ionic cap build android --no-open
- name: Inject Gradle Java 17 (non-Windows)
if: runner.os != 'Windows'
shell: bash
run: bash scripts/inject-gradle-java17.sh testapp
- name: Inject Gradle Java 17 (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: pwsh -File scripts/inject-gradle-java17.ps1 -AppPath testapp
- name: Upload Android APK (Capacitor)
uses: actions/upload-artifact@v5
with:
name: android-apk-${{ runner.os }}
path: |
testapp/android/app/build/outputs/apk/debug/*.apk
testapp\android\app\build\outputs\apk\debug\*.apk
retention-days: 7
- name: Build iOS sample (macOS only)
if: ${{ matrix.os == 'macos-latest' }}
run: |
cd testapp
ionic cap add ios
npx cap sync ios
xcodebuild -workspace ios/App/App.xcworkspace -scheme App -sdk iphonesimulator -configuration Debug build