Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
8c63549
fix(expo-widgets): Remove extraneous dependencies (#43452)
kitten Feb 26, 2026
c0980ea
fix(babel-preset-expo): Opt widget functions out of `react-compiler` …
kitten Feb 26, 2026
7a44389
Bump minimatch from 3.1.2 to 3.1.3 in /docs (#43404)
dependabot[bot] Feb 26, 2026
6070c09
Bump rollup from 4.46.2 to 4.59.0 in /docs (#43457)
dependabot[bot] Feb 26, 2026
da69bc8
chore(expo-router,updates,tools): Remove unintended version pins (and…
kitten Feb 26, 2026
956567d
[core][Android] Inline `Permission` enum (#43364)
lukmccall Feb 26, 2026
0529b55
chore: Remove `package.json` resolutions for `@react-navigation/*` pa…
kitten Feb 26, 2026
c1c48a3
[gh] Migrate Test Suite Brownfield workflow to EAS (#43407)
gabrieldonadel Feb 26, 2026
3f363ef
[docs] Add site-wide WebSite, Organization, Breadcrumb JSON-LD schema…
amandeepmittal Feb 26, 2026
baab772
refactor(cli,doctor,router): Drop `expo-router/doctor` for `expo-doct…
kitten Feb 26, 2026
0ed1a3f
chore(cli): Remove ws-tunnel test (#43462)
kitten Feb 26, 2026
9bc6434
[dev-launcher] Fix safe area with tools button (#43450)
alanjhughes Feb 26, 2026
61bba1c
[ci] Extract ccache setup to composite action (#43365)
Wenszel Feb 26, 2026
00e3f01
[android][dev-launcher] Align tools button with iOS (#43460)
alanjhughes Feb 26, 2026
564e982
chore(expo): Re-add `@react-navigation/native` to `bundledNativeModul…
kitten Feb 26, 2026
e7d750b
[ios][video] Fix crash when requesting an AVAsset for a PHAsset URL f…
fractalbeauty Feb 26, 2026
f3f726b
fix(@expo/cli,expo-server): correctly handle JavaScript assets when `…
hassankhan Feb 26, 2026
daeb9c1
[ui][iOS] - Fix memory leak due to retain cycle in SwiftUI views (#43…
intergalacticspacehighway Feb 26, 2026
810063b
[go] Remove leftover code from old app
brentvatne Feb 26, 2026
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
78 changes: 78 additions & 0 deletions .github/actions/setup-ccache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: 'Setup ccache'
description: 'Install and configure ccache'

runs:
using: 'composite'
steps:
- name: 🍺 Install ccache
if: runner.os == 'macOS'
shell: bash
run: brew install ccache

- name: 🔧 Configure ccache for iOS
if: runner.os == 'macOS'
shell: bash
run: |
# In order to use ccache with Xcode, unlike on Android, we can't just change env variables - we need to change PATH.
MKDIR_PATH=$HOME/.ccache_bin
mkdir -p $MKDIR_PATH
ln -sf $(which ccache) $MKDIR_PATH/clang
ln -sf $(which ccache) $MKDIR_PATH/clang++
ln -sf $(which ccache) $MKDIR_PATH/cc
ln -sf $(which ccache) $MKDIR_PATH/c++
echo "$MKDIR_PATH" >> $GITHUB_PATH
echo "CC=$MKDIR_PATH/clang" >> $GITHUB_ENV
echo "CXX=$MKDIR_PATH/clang++" >> $GITHUB_ENV
echo "LD=$MKDIR_PATH/clang++" >> $GITHUB_ENV
echo "LDPLUSPLUS=$MKDIR_PATH/clang++" >> $GITHUB_ENV

# It must be the same as in .github/actions/expo-caches/action.yml
echo "CCACHE_DIR=${{ runner.temp }}/.ccache" >> $GITHUB_ENV

# By default ccache includes mtime of a compiler in hashes, for each CI run mtime varies.
echo "CCACHE_COMPILERCHECK=content" >> $GITHUB_ENV

# Sloppiness options disable some of the ccache checks to increase hit rate.
# We exclude ctime and mtime so the cache is hit based on file content.
# time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss.
# system_headers: avoids hashing thousands of Apple SDK headers.
# modules, clang_index_store, ivfsoverlay: without these, hit rate on iOS would be 0%.
echo "CCACHE_SLOPPINESS=include_file_mtime,include_file_ctime,time_macros,modules,clang_index_store,system_headers,ivfsoverlay" >> $GITHUB_ENV

# Speeds up the process on cache misses by skipping the preprocessing step.
echo "CCACHE_DEPEND=true" >> $GITHUB_ENV

# Speeds up copying files on cache hits; natively supported by macOS APFS.
echo "CCACHE_FILECLONE=true" >> $GITHUB_ENV

- name: 📦 Install ccache
if: runner.os == 'Linux'
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y ccache

- name: 🔧 Configure ccache for Android
if: runner.os == 'Linux'
shell: bash
run: |
# It must be the same as in .github/actions/expo-caches/action.yml
echo "CCACHE_DIR=${{ runner.temp }}/.ccache" >> $GITHUB_ENV

# By default ccache includes mtime of a compiler in hashes, for each CI run mtime varies.
echo "CCACHE_COMPILERCHECK=content" >> $GITHUB_ENV

# Calculate hash based on a relative path - this prevents cache misses when an absolute path changes.
echo "CCACHE_BASEDIR=${{ github.workspace }}" >> $GITHUB_ENV

# Default is 5GB, this cache takes only ~300MB.
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV

# Sloppiness options disable some of the ccache checks to increase hit rate.
# In our case we exclude ctime and mtime so cache is hit based on file content.
# time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss.
echo "CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,time_macros" >> $GITHUB_ENV

# Replaces compiler with ccache.
echo "CMAKE_C_COMPILER_LAUNCHER=$(which ccache)" >> $GITHUB_ENV
echo "CMAKE_CXX_COMPILER_LAUNCHER=$(which ccache)" >> $GITHUB_ENV
153 changes: 0 additions & 153 deletions .github/workflows/test-suite-brownfield.yml

This file was deleted.

62 changes: 3 additions & 59 deletions .github/workflows/test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,39 +161,7 @@ jobs:
bundler-cache: true
ruby-version: 3.2.2
- name: Setup ccache
run: |
brew install ccache

# In order to use ccache with Xcode, unlike on Android, we can't just change env variables - we need to change PATH.
MKDIR_PATH=$HOME/.ccache_bin
mkdir -p $MKDIR_PATH
ln -sf $(which ccache) $MKDIR_PATH/clang
ln -sf $(which ccache) $MKDIR_PATH/clang++
ln -sf $(which ccache) $MKDIR_PATH/cc
ln -sf $(which ccache) $MKDIR_PATH/c++
echo "$MKDIR_PATH" >> $GITHUB_PATH
echo "CC=$MKDIR_PATH/clang" >> $GITHUB_ENV
echo "CXX=$MKDIR_PATH/clang++" >> $GITHUB_ENV
echo "LD=$MKDIR_PATH/clang++" >> $GITHUB_ENV
echo "LDPLUSPLUS=$MKDIR_PATH/clang++" >> $GITHUB_ENV

# By default ccache includes mtime of a compiler in hashes, for each CI run mtime varies.
echo "CCACHE_COMPILERCHECK=content" >> $GITHUB_ENV

# It must be the same as in .github/actions/expo-caches/action.yml
echo "CCACHE_DIR=${{ runner.temp }}/.ccache" >> $GITHUB_ENV

# Sloppiness options disable some of the ccache checks to increase hit rate.
# We exclude ctime and mtime so the cache is hit based on file content.
# time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss.
# modules, clang_index_store, system_headers, and ivfsoverlay are Xcode-specific options.
echo "CCACHE_SLOPPINESS=include_file_mtime,include_file_ctime,time_macros,modules,clang_index_store,system_headers,ivfsoverlay" >> $GITHUB_ENV

# Speeds up the process on cache misses by skipping the preprocessing step.
echo "CCACHE_DEPEND=true" >> $GITHUB_ENV

# Speeds up copying files on cache hits; natively supported by macOS APFS.
echo "CCACHE_FILECLONE=true" >> $GITHUB_ENV
uses: ./.github/actions/setup-ccache
- name: ♻️ Restore caches
uses: ./.github/actions/expo-caches
id: expo-caches
Expand Down Expand Up @@ -387,32 +355,8 @@ jobs:
with:
distribution: 'temurin'
java-version: '17'
- name: Install ccache
run: |
sudo apt-get update
sudo apt-get install -y ccache
- name: Configure ccache
run: |
# It must be the same as in .github/actions/expo-caches/action.yml
echo "CCACHE_DIR=${{ runner.temp }}/.ccache" >> $GITHUB_ENV

# By default ccache includes mtime of a compiler in hashes, for each CI run mtime varies.
echo "CCACHE_COMPILERCHECK=content" >> $GITHUB_ENV

# Calculate hash based on a relative path - this prevents cache misses when an absolute path changes.
echo "CCACHE_BASEDIR=${{ github.workspace }}" >> $GITHUB_ENV

# Default is 5GB, this cache takes only ~300MB.
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV

# Sloppiness options disable some of the ccache checks to increase hit rate.
# In our case we exclude ctime and mtime so cache is hit based on file content.
# time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss.
echo "CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,time_macros" >> $GITHUB_ENV

# Replaces compiler with ccache
echo "CMAKE_C_COMPILER_LAUNCHER=$(which ccache)" >> $GITHUB_ENV
echo "CMAKE_CXX_COMPILER_LAUNCHER=$(which ccache)" >> $GITHUB_ENV
- name: Setup ccache
uses: ./.github/actions/setup-ccache
- name: ➕ Add `bin` to GITHUB_PATH
run: echo "$(pwd)/bin" >> $GITHUB_PATH
- name: ♻️ Restore caches
Expand Down
6 changes: 3 additions & 3 deletions apps/bare-expo/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3885,7 +3885,7 @@ SPEC CHECKSUMS:
EXUpdates: c5a64985f393cf4f8beb4463f86a885c90b4fccc
EXUpdatesInterface: 26412751a0f7a7130614655929e316f684552aab
FBLazyVector: 32e9ed0301d0fcbc1b2b341dd7fcbf291f51eb83
hermes-engine: 9e7dfb4eb5867a67fb30760f9f6f8646b9f77d28
hermes-engine: 1566042511e927d64254f2efe08ae744a5eb9a00
libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
Expand All @@ -3903,7 +3903,7 @@ SPEC CHECKSUMS:
React: f4edc7518ccb0b54a6f580d89dd91471844b4990
React-callinvoker: 79ef4e3f1c021571f6d2dafbe45ca432b2f3a146
React-Core: 469995a2b6ef0ffff38ed123ccd202287703939e
React-Core-prebuilt: b5ea7a06af79de343ee95cb48e56d682a29763ab
React-Core-prebuilt: e71199b350bcaeade83eea6e463e818dcc46d718
React-CoreModules: db3b65cb984dfc7e0b00db517712cff8d938fc3f
React-cxxreact: 8551bebcc6bc624ce774dccae20c383844aa9d06
React-debug: 4f6739c820d7da9c20f48caa985573b6a847e5f5
Expand Down Expand Up @@ -3973,7 +3973,7 @@ SPEC CHECKSUMS:
ReactAppDependencyProvider: 1976cdf5076a7e34718a56ead2f2069c7f54ebe9
ReactCodegen: 4e2863f450e4aec6b66a7e91d41a209aa4601c97
ReactCommon: 696163beb1630cf1f7590dbc8bfc542e40bdbe76
ReactNativeDependencies: 5dd7d57944d42324ba59e9c95ae58b4f7c7a9882
ReactNativeDependencies: d804b447c01215d21137868e3b5b5a920fc9f7f4
RNCAsyncStorage: e85a99325df9eb0191a6ee2b2a842644c7eb29f4
RNCMaskedView: 3c9d7586e2b9bbab573591dcb823918bc4668005
RNCPicker: e0149590451d5eae242cf686014a6f6d808f93c7
Expand Down
41 changes: 0 additions & 41 deletions apps/expo-go/App.tsx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ fun DeveloperMenuSection(
HorizontalDivider()

SwitchRow(
text = "Action button",
text = "Tools button",
checked = showFab,
onCheckedChange = { newValue ->
showFab = newValue
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package versioned.host.exp.exponent.modules.universal

import expo.modules.interfaces.filesystem.Permission
import expo.modules.kotlin.services.FilePermissionService
import host.exp.exponent.utils.ScopedContext
import java.io.File
Expand Down
Loading
Loading