From 4aafa915524dbd6d5a262c3147e84422d519d7b2 Mon Sep 17 00:00:00 2001 From: Piotr Witek Date: Tue, 7 Apr 2026 14:03:13 +0200 Subject: [PATCH 1/4] chore: bump Node.js to 24 and upgrade setup-node action to v4 --- .github/actions/setup/action.yml | 2 +- .github/workflows/build-android-llm-example.yml | 2 +- .github/workflows/build-ios-llm-example.yml | 2 +- .github/workflows/docs-build-check.yml | 2 +- .github/workflows/npm-publish-bare-resource-fetcher.yml | 2 +- .github/workflows/npm-publish-expo-resource-fetcher.yml | 2 +- .github/workflows/npm-publish.yml | 2 +- .nvmrc | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index fb98c79ad8..6a31108332 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -5,7 +5,7 @@ runs: using: composite steps: - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: .nvmrc diff --git a/.github/workflows/build-android-llm-example.yml b/.github/workflows/build-android-llm-example.yml index be65210e5b..e1e3f0ad04 100644 --- a/.github/workflows/build-android-llm-example.yml +++ b/.github/workflows/build-android-llm-example.yml @@ -37,7 +37,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '24' cache: 'yarn' - name: Setup Java 17 uses: actions/setup-java@v4 diff --git a/.github/workflows/build-ios-llm-example.yml b/.github/workflows/build-ios-llm-example.yml index 0e04afe19e..d52d78c970 100644 --- a/.github/workflows/build-ios-llm-example.yml +++ b/.github/workflows/build-ios-llm-example.yml @@ -33,7 +33,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '24' cache: 'yarn' - name: Install root dependencies run: yarn install --immutable diff --git a/.github/workflows/docs-build-check.yml b/.github/workflows/docs-build-check.yml index 6d5313dbeb..8fd2943b26 100644 --- a/.github/workflows/docs-build-check.yml +++ b/.github/workflows/docs-build-check.yml @@ -29,7 +29,7 @@ jobs: - name: Use Node.js 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Install node dependencies working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn install --immutable diff --git a/.github/workflows/npm-publish-bare-resource-fetcher.yml b/.github/workflows/npm-publish-bare-resource-fetcher.yml index af50c962f7..861afd5ab7 100644 --- a/.github/workflows/npm-publish-bare-resource-fetcher.yml +++ b/.github/workflows/npm-publish-bare-resource-fetcher.yml @@ -38,7 +38,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 22.22.1 + node-version: 24 cache: 'yarn' registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/npm-publish-expo-resource-fetcher.yml b/.github/workflows/npm-publish-expo-resource-fetcher.yml index 566aab57dd..9ae695af86 100644 --- a/.github/workflows/npm-publish-expo-resource-fetcher.yml +++ b/.github/workflows/npm-publish-expo-resource-fetcher.yml @@ -38,7 +38,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 22.22.1 + node-version: 24 cache: 'yarn' registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 3607693b6c..64c2d9749e 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -38,7 +38,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 22.22.1 + node-version: 24 cache: 'yarn' registry-url: https://registry.npmjs.org/ diff --git a/.nvmrc b/.nvmrc index 53d1c14db3..54c65116f1 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v22 +v24 From 4d1be683bcff4799a5705a186880303c9265b3d2 Mon Sep 17 00:00:00 2001 From: Piotr Witek Date: Tue, 7 Apr 2026 15:11:35 +0200 Subject: [PATCH 2/4] chore: try to run ios job with no cache --- .github/workflows/build-ios-llm-example.yml | 23 +++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-ios-llm-example.yml b/.github/workflows/build-ios-llm-example.yml index d52d78c970..e4c5ec4b8a 100644 --- a/.github/workflows/build-ios-llm-example.yml +++ b/.github/workflows/build-ios-llm-example.yml @@ -4,16 +4,16 @@ on: branches: - main paths: - - '.github/workflows/build-ios-llm-example.yml' - - '*.podspec' - - 'apps/llm/**' - - 'packages/react-native-executorch/**' + - ".github/workflows/build-ios-llm-example.yml" + - "*.podspec" + - "apps/llm/**" + - "packages/react-native-executorch/**" pull_request: paths: - - '.github/workflows/build-ios-llm-example.yml' - - '*.podspec' - - 'apps/llm/**' - - 'packages/react-native-executorch/**' + - ".github/workflows/build-ios-llm-example.yml" + - "*.podspec" + - "apps/llm/**" + - "packages/react-native-executorch/**" workflow_dispatch: jobs: build: @@ -33,8 +33,8 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '24' - cache: 'yarn' + node-version: "24" + cache: "yarn" - name: Install root dependencies run: yarn install --immutable - name: Install Expo CLI @@ -45,7 +45,8 @@ jobs: uses: actions/cache@v4 with: path: apps/llm/ios - key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} + # key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} + key: ${{ runner.os }}-expo-ios-nocache-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} - name: Generate native iOS project working-directory: apps/llm run: | From a549155c211683f8f062f32dc4733481039cf8ad Mon Sep 17 00:00:00 2001 From: Piotr Witek Date: Tue, 7 Apr 2026 20:41:35 +0200 Subject: [PATCH 3/4] chore: bump actions/checkout -> v6 actions/setup-node -> v6 actions/cache -> v5 --- .github/actions/setup/action.yml | 4 +-- .../workflows/build-android-llm-example.yml | 28 +++++++++---------- .github/workflows/build-ios-llm-example.yml | 6 ++-- .github/workflows/ci.yml | 4 +-- .github/workflows/docs-build-check.yml | 6 ++-- .../npm-publish-bare-resource-fetcher.yml | 4 +-- .../npm-publish-expo-resource-fetcher.yml | 4 +-- .github/workflows/npm-publish.yml | 4 +-- .github/workflows/publish_docs.yml | 2 +- 9 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 6a31108332..bb7dd51bde 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -5,13 +5,13 @@ runs: using: composite steps: - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version-file: .nvmrc - name: Cache dependencies id: yarn-cache - uses: actions/cache@v3 + uses: actions/cache@v5 with: path: | **/node_modules diff --git a/.github/workflows/build-android-llm-example.yml b/.github/workflows/build-android-llm-example.yml index e1e3f0ad04..885bd6845b 100644 --- a/.github/workflows/build-android-llm-example.yml +++ b/.github/workflows/build-android-llm-example.yml @@ -25,26 +25,26 @@ jobs: steps: - name: Free Disk Space (Manual) run: | - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - sudo docker system prune -af - + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf /opt/hostedtoolcache/CodeQL + sudo docker system prune -af + - name: Check out Git repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: '24' - cache: 'yarn' + node-version: "24" + cache: "yarn" - name: Setup Java 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: - distribution: 'zulu' + distribution: "zulu" java-version: 17 - cache: 'gradle' + cache: "gradle" - name: Install root dependencies run: yarn install --immutable - name: Install Expo CLI @@ -52,7 +52,7 @@ jobs: npm install -g @expo/cli echo "$(npm prefix -g)/bin" >> $GITHUB_PATH - name: Cache Expo prebuild - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ${{ env.WORKING_DIRECTORY }}/android key: ${{ runner.os }}-expo-android-${{ hashFiles('${{ env.WORKING_DIRECTORY }}/app.json', '${{ env.WORKING_DIRECTORY }}/package.json') }} @@ -67,7 +67,7 @@ jobs: echo "Android project exists, skipping prebuild" fi - name: Cache Gradle - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: | ~/.gradle/caches diff --git a/.github/workflows/build-ios-llm-example.yml b/.github/workflows/build-ios-llm-example.yml index e4c5ec4b8a..f0172af106 100644 --- a/.github/workflows/build-ios-llm-example.yml +++ b/.github/workflows/build-ios-llm-example.yml @@ -27,11 +27,11 @@ jobs: with: xcode-version: latest-stable - name: Check out Git repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: "24" cache: "yarn" @@ -42,7 +42,7 @@ jobs: npm install -g @expo/cli echo "$(npm prefix -g)/bin" >> $GITHUB_PATH - name: Cache Expo prebuild - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: apps/llm/ios # key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd9585bc2d..96fd27ad65 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Setup uses: ./.github/actions/setup @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Setup uses: ./.github/actions/setup diff --git a/.github/workflows/docs-build-check.yml b/.github/workflows/docs-build-check.yml index 8fd2943b26..eec9d3a4a3 100644 --- a/.github/workflows/docs-build-check.yml +++ b/.github/workflows/docs-build-check.yml @@ -25,9 +25,9 @@ jobs: WORKING_DIRECTORY: docs steps: - name: Checkout repository - uses: actions/checkout@v3 - - name: Use Node.js 20 - uses: actions/setup-node@v4 + uses: actions/checkout@v6 + - name: Use Node.js 24 + uses: actions/setup-node@v6 with: node-version: 24 - name: Install node dependencies diff --git a/.github/workflows/npm-publish-bare-resource-fetcher.yml b/.github/workflows/npm-publish-bare-resource-fetcher.yml index 861afd5ab7..2a5bee50f9 100644 --- a/.github/workflows/npm-publish-bare-resource-fetcher.yml +++ b/.github/workflows/npm-publish-bare-resource-fetcher.yml @@ -33,10 +33,10 @@ jobs: TAG: PLACEHOLDER steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 24 cache: 'yarn' diff --git a/.github/workflows/npm-publish-expo-resource-fetcher.yml b/.github/workflows/npm-publish-expo-resource-fetcher.yml index 9ae695af86..8501b81bfe 100644 --- a/.github/workflows/npm-publish-expo-resource-fetcher.yml +++ b/.github/workflows/npm-publish-expo-resource-fetcher.yml @@ -33,10 +33,10 @@ jobs: TAG: PLACEHOLDER steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 24 cache: 'yarn' diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 64c2d9749e..3632a93d00 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -33,10 +33,10 @@ jobs: TAG: PLACEHOLDER steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 24 cache: 'yarn' diff --git a/.github/workflows/publish_docs.yml b/.github/workflows/publish_docs.yml index 1292ea5be0..af53b482e5 100644 --- a/.github/workflows/publish_docs.yml +++ b/.github/workflows/publish_docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out - uses: actions/checkout@v1 + uses: actions/checkout@v6 - name: Generate docs run: >- From 24db2d8925f645fa4ca6807a25008f12a29e0790 Mon Sep 17 00:00:00 2001 From: Piotr Witek Date: Tue, 7 Apr 2026 23:41:53 +0200 Subject: [PATCH 4/4] chore: remove ios prebuild cache and regenerate project each run --- .github/workflows/build-ios-llm-example.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-ios-llm-example.yml b/.github/workflows/build-ios-llm-example.yml index f0172af106..4a2b2b9b99 100644 --- a/.github/workflows/build-ios-llm-example.yml +++ b/.github/workflows/build-ios-llm-example.yml @@ -41,20 +41,11 @@ jobs: run: | npm install -g @expo/cli echo "$(npm prefix -g)/bin" >> $GITHUB_PATH - - name: Cache Expo prebuild - uses: actions/cache@v5 - with: - path: apps/llm/ios - # key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} - key: ${{ runner.os }}-expo-ios-nocache-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }} - name: Generate native iOS project working-directory: apps/llm run: | - if [ ! -d "ios" ]; then - npx expo prebuild --platform ios --no-install - else - echo "iOS project exists, skipping prebuild" - fi + rm -rf ios + npx expo prebuild --platform ios --no-install - name: Install CocoaPods dependencies working-directory: apps/llm/ios run: |