Compare commits

...

28 Commits

Author SHA1 Message Date
a78a51e843 chore: 更新构建 Android APK 步骤,添加自动选项以简化流程
Some checks failed
/ update (push) Failing after 3h12m44s
2025-08-14 22:16:04 +08:00
e7ecb527ba chore: 添加构建 Android APK 步骤
Some checks failed
/ update (push) Has been cancelled
2025-08-14 22:15:45 +08:00
c7c467d1bb chore: 添加 expo-updates 安装步骤,并调整更新创建步骤的顺序
All checks were successful
/ update (push) Successful in 25m43s
2025-08-14 21:06:50 +08:00
7b789daceb chore: 更新 EAS 更新命令,添加自动选项以简化构建流程
Some checks failed
/ update (push) Failing after 8m9s
2025-08-14 20:50:14 +08:00
d3defff092 chore: 将工作流配置中的分支名称从 main 修改为 master
Some checks failed
/ update (push) Failing after 4m53s
2025-08-14 20:37:41 +08:00
b8cf58854e chore: 更新工作流配置,将分支名称从 master 修改为 main,并优化 pnpm 和依赖安装步骤 2025-08-14 20:37:28 +08:00
6433e699a9 chore: 优化 Java 安装步骤,移除缓存和镜像下载,直接使用官方设置
Some checks failed
/ build (push) Failing after 3h8m45s
2025-08-14 17:05:36 +08:00
840be42171 chore: 优化 Expo 构建工作流,添加 Java 和 Android SDK 缓存,配置加速设置
Some checks failed
/ build (push) Failing after 2m32s
2025-08-14 17:01:02 +08:00
158ec78bef chore: 添加 Java 和 Android SDK 设置步骤,更新构建命令以支持本地构建
Some checks failed
/ build (push) Has been cancelled
2025-08-14 16:50:28 +08:00
d05d050024 chore: 优化 pnpm 设置步骤,移除重复配置
Some checks failed
/ build (push) Failing after 28m0s
2025-08-14 16:19:23 +08:00
552d33e358 chore: 更新 Node 缓存设置为 pnpm,并将依赖安装方式改为 pnpm
Some checks failed
/ build (push) Failing after 37s
2025-08-14 16:15:41 +08:00
aea78f2f79 chore: 简化 Expo 本地构建工作流,移除 Java 安装步骤并更新依赖安装方式
Some checks failed
/ build (push) Failing after 2m25s
2025-08-14 16:07:44 +08:00
038789a50e chore: 将 pnpm 设置步骤改为使用 pnpm/action-setup@v2
Some checks failed
Expo Local Build APK / build-apk (push) Has been cancelled
2025-08-14 15:44:19 +08:00
59e923d8bd chore: 修改 Java 安装步骤,直接通过 apt 安装 OpenJDK 17
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 2m3s
2025-08-14 15:24:15 +08:00
f9b5ed5faa chore: 调整 pnpm 设置步骤,改为通过 npm 全局安装
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 7m49s
2025-08-14 15:06:28 +08:00
2f1bf1e8f8 chore: 添加 Java 环境配置以支持 EAS 本地构建
Some checks failed
Expo Local Build APK / build-apk (push) Has been cancelled
2025-08-14 14:48:36 +08:00
30898970bb chore: 降级 react-native-svg 版本至 15.11.2,并更新 pnpm 工作区配置
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 25m32s
2025-08-14 13:34:03 +08:00
e3fff05532 chore: 更新应用名称为“灵动云雀模板”,并添加 EAS 构建配置
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 22m20s
2025-08-14 10:23:39 +08:00
65018c1d57 chore: 添加 Android 包名配置
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 3m24s
2025-08-14 10:04:51 +08:00
6fa31f0621 chore: 添加额外配置以支持 EAS 项目 ID
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 4m40s
2025-08-14 09:57:27 +08:00
5b0307d8fa chore: 移除 EAS 登录步骤并将 EXPO_TOKEN 环境变量移至作业级别
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 3m35s
2025-08-14 09:52:18 +08:00
e26d43b352 chore: 添加 EAS 登录步骤以支持本地构建
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 2m25s
2025-08-14 09:28:22 +08:00
2dc1034daf chore: 更新工作流中的动作引用为简化格式,并将 npm 替换为 pnpm
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 8m37s
2025-08-13 18:29:36 +08:00
c724705a43 chore: 修正上传 APK 的动作引用地址
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 18m34s
2025-08-13 17:40:33 +08:00
70a1697f1d chore: 更新工作流中的动作引用,移除不必要的前缀
Some checks failed
Expo Local Build APK / build-apk (push) Has been cancelled
2025-08-13 17:39:41 +08:00
ec1dd3fa54 chore: 更新工作流中的动作引用为新的 GitHub 地址
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 5s
2025-08-13 17:01:24 +08:00
d6983349a6 chore: 更新工作流中的动作引用为 Gitea 版本
Some checks failed
Expo Local Build APK / build-apk (push) Has been cancelled
2025-08-13 16:54:07 +08:00
926ce415eb chore: 将构建触发分支从 main 更新为 master
Some checks failed
Expo Local Build APK / build-apk (push) Failing after 35s
2025-08-13 15:23:03 +08:00
6 changed files with 71 additions and 43 deletions

View File

@@ -1,36 +1,39 @@
name: Expo Local Build APK
on:
push:
branches:
- main
workflow_dispatch:
- master
jobs:
build-apk:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout code
- name: 🏗 Setup repo
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v4
- name: 🏗 Setup Node
uses: actions/setup-node@v3
with:
node-version: '18'
node-version: 18.x
cache: pnpm
- name: Install Expo CLI & EAS CLI
run: npm install -g expo-cli eas-cli
- name: Install dependencies
run: npm ci
# 本地打包
- name: EAS Local Build APK
run: eas build -p android --local --output=dist/app.apk
# 上传产物
- name: Upload APK to Release
uses: actions/upload-artifact@v3
- name: 🏗 Setup pnpm
uses: pnpm/action-setup@v2
with:
name: app-apk
path: dist/app.apk
version: latest
- name: 🏗 Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: 📦 Install dependencies
run: pnpm install
- name: <EFBFBD> Install expo-updates
run: pnpm add -w expo-updates
- name: <EFBFBD>🚀 Create update
run: eas update --platform android --auto --non-interactive
- name: 🏗 Build Android APK
run: eas build --platform android --auto --non-interactive

View File

@@ -1,8 +1,9 @@
{
"expo": {
"name": "flexlark-template",
"name": "灵动云雀模板",
"slug": "flexlark-template",
"version": "1.0.0",
"platforms": ["android"],
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "flexlarktemplate",
@@ -17,6 +18,7 @@
"backgroundColor": "#ffffff"
},
"edgeToEdgeEnabled": true
,"package": "com.flexlark.template"
},
"web": {
"bundler": "metro",
@@ -37,6 +39,13 @@
],
"experiments": {
"typedRoutes": true
}
},
"extra": {
"router": {},
"eas": {
"projectId": "73103ac6-99c4-4323-b701-33a6dd258344"
}
},
"owner": "eeymoo"
}
}

9
eas.json Normal file
View File

@@ -0,0 +1,9 @@
{
"build": {
"production": {
"android": {
"buildType": "apk"
}
}
}
}

View File

@@ -35,7 +35,7 @@
"react-native-reanimated": "~3.17.5",
"react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.11.1",
"react-native-svg": "^15.12.1",
"react-native-svg": "^15.11.2",
"react-native-web": "~0.20.0",
"react-native-webview": "13.13.5",
"tamagui": "^1.132.18"

30
pnpm-lock.yaml generated
View File

@@ -43,7 +43,7 @@ importers:
version: 7.1.7(expo@53.0.20(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0)))(react-native-webview@13.13.5(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)
expo-router:
specifier: ~5.1.4
version: 5.1.4(e1c8eefe113e01b6d50ed7cbca38deea)
version: 5.1.4(4dxweeftez7bzpvimyjvn3mn6i)
expo-splash-screen:
specifier: ~0.30.10
version: 0.30.10(expo@53.0.20(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0)))(react-native-webview@13.13.5(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))
@@ -81,8 +81,8 @@ importers:
specifier: ~4.11.1
version: 4.11.1(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)
react-native-svg:
specifier: ^15.12.1
version: 15.12.1(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)
specifier: ^15.11.2
version: 15.11.2(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)
react-native-web:
specifier: ~0.20.0
version: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -3740,8 +3740,8 @@ packages:
react: '*'
react-native: '*'
react-native-svg@15.12.1:
resolution: {integrity: sha512-vCuZJDf8a5aNC2dlMovEv4Z0jjEUET53lm/iILFnFewa15b4atjVxU6Wirm6O9y6dEsdjDZVD7Q3QM4T1wlI8g==}
react-native-svg@15.11.2:
resolution: {integrity: sha512-+YfF72IbWQUKzCIydlijV1fLuBsQNGMT6Da2kFlo1sh+LE3BIm/2Q7AR1zAAR6L0BFLi1WaQPLfFUC9bNZpOmw==}
peerDependencies:
react: '*'
react-native: '*'
@@ -7716,9 +7716,9 @@ snapshots:
'@typescript-eslint/eslint-plugin': 8.39.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.39.1(eslint@9.33.0)(typescript@5.8.3)
eslint: 9.33.0
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.33.0)
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0)
eslint-plugin-expo: 0.1.4(eslint@9.33.0)(typescript@5.8.3)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.33.0)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0))(eslint@9.33.0)
eslint-plugin-react: 7.37.5(eslint@9.33.0)
eslint-plugin-react-hooks: 5.2.0(eslint@9.33.0)
globals: 16.3.0
@@ -7736,7 +7736,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.33.0):
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.1
@@ -7747,18 +7747,18 @@ snapshots:
tinyglobby: 0.2.14
unrs-resolver: 1.11.1
optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.33.0)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0))(eslint@9.33.0)
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.33.0):
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0))(eslint@9.33.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.39.1(eslint@9.33.0)(typescript@5.8.3)
eslint: 9.33.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.33.0)
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0)
transitivePeerDependencies:
- supports-color
@@ -7771,7 +7771,7 @@ snapshots:
- supports-color
- typescript
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.33.0):
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0))(eslint@9.33.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -7782,7 +7782,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.33.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.33.0)
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.1(eslint@9.33.0)(typescript@5.8.3))(eslint@9.33.0))(eslint@9.33.0))(eslint@9.33.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -7978,7 +7978,7 @@ snapshots:
dependencies:
invariant: 2.2.4
expo-router@5.1.4(e1c8eefe113e01b6d50ed7cbca38deea):
expo-router@5.1.4(4dxweeftez7bzpvimyjvn3mn6i):
dependencies:
'@expo/metro-runtime': 5.0.4(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))
'@expo/server': 0.6.3
@@ -9336,7 +9336,7 @@ snapshots:
react-native-is-edge-to-edge: 1.2.1(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)
warn-once: 0.1.1
react-native-svg@15.12.1(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0):
react-native-svg@15.11.2(react-native@0.79.5(@babel/core@7.28.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0):
dependencies:
css-select: 5.2.2
css-tree: 1.1.3

View File

@@ -1 +1,8 @@
nodeLinker: hoisted
packages:
- 'app'
- 'components'
- 'constants'
- 'hooks'
- 'scripts'