Skip to content

Commit 19a3bf1

Browse files
committed
chore: Migrate the expo app from the root into the apps/launcher
directory, enable composite projects, update dependencies, add some tests, migrate to using turbo for task running, add changeset support with some experimental conventional commits support with it, add commitlint, finally fix a bunch of minor issues here and there. With this commit, we're finally off to the races!
1 parent 338d4f7 commit 19a3bf1

57 files changed

Lines changed: 1748 additions & 307 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/config.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@latest/schema.json",
3+
"changelog": [
4+
"@changesets/changelog-github",
5+
{
6+
"repo": "filiphsps/AdaptiveShell"
7+
}
8+
],
9+
"commit": false,
10+
"fixed": [["{,@metro-ui/}{,*,!launcher}"]],
11+
"linked": [],
12+
"access": "public",
13+
"baseBranch": "master",
14+
"updateInternalDependencies": "patch",
15+
"privatePackages": {
16+
"tag": true,
17+
"version": true
18+
},
19+
"snapshot": {
20+
"useCalculatedVersion": true
21+
},
22+
"ignore": ["@metro-ui/launcher"]
23+
}

.github/workflows/ci.yml

Lines changed: 87 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ on:
1515

1616
env:
1717
CI: true
18+
# Make sure we disable husky as it might interfere with some operations here
19+
HUSKY: 0
1820

1921
jobs:
20-
build:
21-
name: 🔨 Build
22-
needs: [lint, typecheck, test]
23-
timeout-minutes: 25
22+
lint:
23+
name: 📋 Lint
2424
runs-on: ubuntu-latest
2525
steps:
2626
- name: 🕶️ Checkout repository
@@ -29,12 +29,11 @@ jobs:
2929
- name: 🚀 Bootstrap
3030
uses: ./.github/common/bootstrap
3131

32-
- name: 🔨 Build All
33-
run: pnpm run build
32+
- name: 📋 Lint
33+
run: pnpm run lint
3434

35-
lint:
36-
name: 📋 Lint
37-
timeout-minutes: 15
35+
typecheck:
36+
name: ✅ Typecheck
3837
runs-on: ubuntu-latest
3938
steps:
4039
- name: 🕶️ Checkout repository
@@ -43,12 +42,12 @@ jobs:
4342
- name: 🚀 Bootstrap
4443
uses: ./.github/common/bootstrap
4544

46-
- name: 📋 Lint
47-
run: pnpm run lint
45+
- name: ✅ Typecheck
46+
run: pnpm run typecheck
4847

49-
typecheck:
50-
name: ✅ Typecheck
51-
timeout-minutes: 15
48+
build:
49+
name: 🔨 Build
50+
needs: [lint, typecheck]
5251
runs-on: ubuntu-latest
5352
steps:
5453
- name: 🕶️ Checkout repository
@@ -57,13 +56,15 @@ jobs:
5756
- name: 🚀 Bootstrap
5857
uses: ./.github/common/bootstrap
5958

60-
- name: ✅ Typecheck
61-
run: pnpm run typecheck
59+
- name: 🔬 Verify integrity
60+
run: npm audit signatures
61+
62+
- name: 🔨 Build all
63+
run: pnpm run build
6264

6365
test:
6466
name: 🧪 Test
6567
needs: [lint, typecheck]
66-
timeout-minutes: 15
6768
runs-on: ubuntu-latest
6869
steps:
6970
- name: 🕶️ Checkout repository
@@ -74,3 +75,72 @@ jobs:
7475

7576
- name: 🧪 Test
7677
run: pnpm run test
78+
79+
- name: 🦺 Codecov coverage reports
80+
if: ${{ !cancelled() }}
81+
uses: codecov/codecov-action@v5
82+
with:
83+
token: ${{ secrets.CODECOV_TOKEN }}
84+
slug: filiphsps/AdaptiveShell
85+
86+
- name: 🦺 Upload test results to Codecov
87+
if: ${{ !cancelled() }}
88+
uses: codecov/test-results-action@v1
89+
with:
90+
token: ${{ secrets.CODECOV_TOKEN }}
91+
slug: filiphsps/AdaptiveShell
92+
93+
release:
94+
name: 🚢 Release
95+
needs: [build, test]
96+
runs-on: ubuntu-latest
97+
if: github.ref == 'refs/heads/master'
98+
permissions: write-all
99+
concurrency:
100+
group: ${{ github.workflow }}-${{ github.ref }}
101+
steps:
102+
- name: 🕶️ Checkout repository
103+
uses: actions/checkout@v4
104+
with:
105+
fetch-depth: 0
106+
submodules: 'recursive'
107+
108+
- name: 🚀 Bootstrap
109+
uses: ./.github/common/bootstrap
110+
111+
- name: 🔬 Verify integrity
112+
run: npm audit signatures
113+
114+
- name: 🔨 Build all
115+
run: pnpm run build:packages
116+
117+
- name: 📦 Generate changeset(s) from commit messages
118+
run: pnpm changeset:conventional
119+
120+
- name: 🤝 Create release PR or 📦 Publish
121+
id: changesets
122+
uses: changesets/action@v1
123+
env:
124+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
125+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
126+
with:
127+
createGithubReleases: true
128+
version: pnpm run version
129+
publish: pnpm run release
130+
setupGitUser: true
131+
commit: |
132+
Changeset: Increment package & dependency versions.
133+
134+
Congratulations on the new release! 🎉
135+
This is an automated commit triggered by the `release` workflow.
136+
title: 🚀 Release packages
137+
138+
- name: 🫨 Create Unstable Release
139+
if: steps.changesets.outputs.published != 'true'
140+
env:
141+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
142+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
143+
run: |
144+
git checkout master
145+
pnpm run version:unstable
146+
pnpm run release:unstable

.gitignore

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
2-
31
# dependencies
42
node_modules/
53

64
# Expo
75
.expo/
86
dist/
97
web-build/
8+
expo-env.d.ts
109

1110
# Native
1211
*.orig.*
@@ -23,27 +22,24 @@ web-build/
2322
npm-debug.*
2423
yarn-debug.*
2524
yarn-error.*
25+
coverage/
26+
coverage-temp/
2627

2728
# macOS
2829
.DS_Store
2930
*.pem
3031

31-
# local env files
32-
.env*.local
33-
3432
# typescript
3533
*.tsbuildinfo
3634

37-
# @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
38-
# The following patterns were generated by expo-cli
39-
40-
expo-env.d.ts
41-
# @end expo-cli
42-
35+
# Build
36+
.turbo
4337
android
4438
ios
39+
4540
notes.txt
4641
project.inlang
4742

48-
# force-include env
43+
# local env files
44+
.env*.local
4945
!.env

.prettierignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*/.expo/
2+
*/android/
3+
*/ios/

apps/.gitkeep

Whitespace-only changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)