Skip to content

chore(deps): bump the npm-minor-patch group across 1 directory with 4 updates #703

chore(deps): bump the npm-minor-patch group across 1 directory with 4 updates

chore(deps): bump the npm-minor-patch group across 1 directory with 4 updates #703

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
fastlane-validate:
name: Fastlane Metadata
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Validate
uses: ashutoshgngwr/validate-fastlane-supply-metadata@c8857fdbbd3e00f9a5cbe8604bcecfa95ce8fef8 # v2.1.0
with:
usePlayStoreLocales: true
ios-detox:
name: "iOS Detox (build + test)"
runs-on: depot-macos-15
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Xcode 26.0
run: |
sudo xcode-select -s /Applications/Xcode_26.0.app/Contents/Developer
xcodebuild -version
sudo xcodebuild -runFirstLaunch
xcrun simctl list runtimes
if ! xcrun simctl list runtimes | grep -q "iOS"; then
sudo xcodebuild -downloadPlatform iOS
fi
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Setup Expo
run: npx expo install
- name: Prebuild iOS
run: npx expo prebuild --platform ios --clean
- name: Build Detox framework cache
run: npx detox build-framework-cache
- name: Build
run: npx detox build --configuration ios.sim.release
- name: Install applesimutils
run: brew tap wix/brew && brew install applesimutils
- name: Setup evcc daemon
run: |
brew tap evcc-io/tap
brew update
brew install evcc
sudo evcc --disable-auth &
- name: Setup Caddy
env:
CADDY_VERSION: 2.11.2
CADDY_SHA256: 7ab765777e953574d5713a69cab3f5a2f643a5c1cc264d4239a60ff845b465d8
run: |
curl -fsSL -o caddy.tar.gz "https://github.com/caddyserver/caddy/releases/download/v${CADDY_VERSION}/caddy_${CADDY_VERSION}_mac_arm64.tar.gz"
echo "${CADDY_SHA256} caddy.tar.gz" | shasum -a 256 -c -
tar -xzf caddy.tar.gz caddy
chmod +x caddy
./caddy run &
- name: Test
run: npx detox test --configuration ios.sim.release --cleanup --headless
- name: Upload artifacts on failure
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ios-detox-artifacts
path: e2e/artifacts/
retention-days: 7
android-build:
name: "Android Detox (build)"
runs-on: depot-ubuntu-24.04-32
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Setup Expo
run: npx expo install
- name: Prebuild Android
run: npx expo prebuild --platform android --clean
- name: Setup Java
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: "temurin"
java-version: "17"
- name: Gradle cache
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
- name: Build
run: npx detox build --configuration android.emu.release
- name: Upload app apk
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: app-release.apk
path: android/app/build/outputs/apk/release/app-release.apk
if-no-files-found: error
retention-days: 7
- name: Upload detox apk
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: app-release-androidTest.apk
path: android/app/build/outputs/apk/androidTest/release/app-release-androidTest.apk
if-no-files-found: error
retention-days: 7
android-test:
name: "Android Detox (test)"
runs-on: ubuntu-latest
timeout-minutes: 20
needs: android-build
strategy:
matrix:
api-level: [34]
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Setup Expo
run: npx expo install
- name: Prebuild Android
run: npx expo prebuild --platform android --clean
- name: Download app apk
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-release.apk
path: android/app/build/outputs/apk/release
- name: Download detox apk
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-release-androidTest.apk
path: android/app/build/outputs/apk/androidTest/release
- name: Install system dependencies for android emulator
run: |
sudo apt-get update
sudo apt-get install -y libpulse0
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Setup evcc daemon
run: |
curl -1sLf 'https://dl.evcc.io/public/evcc/stable/setup.deb.sh' | sudo -E bash
sudo apt update
sudo apt install -y evcc
sudo systemctl stop evcc
sudo evcc --disable-auth --database /var/lib/evcc/evcc.db &
- name: Setup Caddy
env:
CADDY_VERSION: 2.11.2
CADDY_SHA256: 94391dfefe1f278ac8f387ab86162f0e88d87ff97df367f360e51e3cda3df56f
run: |
curl -fsSL -o caddy.tar.gz "https://github.com/caddyserver/caddy/releases/download/v${CADDY_VERSION}/caddy_${CADDY_VERSION}_linux_amd64.tar.gz"
echo "${CADDY_SHA256} caddy.tar.gz" | sha256sum -c -
tar -xzf caddy.tar.gz caddy
chmod +x caddy
./caddy run &
- name: Test
uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a # v2.37.0
with:
api-level: ${{ matrix.api-level }}
disk-size: 1G
heap-size: 1G
force-avd-creation: false
target: google_apis
arch: x86_64
disable-animations: true
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
script: npx detox test --configuration android.emu.release --cleanup --headless
- name: Upload artifacts on failure
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: android-detox-artifacts-api-level-${{ matrix.api-level }}
path: e2e/artifacts/
retention-days: 7