-
-
Notifications
You must be signed in to change notification settings - Fork 17
135 lines (111 loc) · 3.46 KB
/
Copy pathci-expo-iap.yml
File metadata and controls
135 lines (111 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: CI - expo-iap
on:
pull_request:
branches: [main, next]
paths:
- "libraries/expo-iap/**"
- "packages/gql/src/generated/types.ts"
- "packages/apple/Sources/**"
- "packages/apple/Package.swift"
- "openiap-versions.json"
- ".github/workflows/ci-expo-iap.yml"
push:
branches: [main, next]
paths:
- "libraries/expo-iap/**"
- "packages/gql/src/generated/types.ts"
- "packages/apple/Sources/**"
- "packages/apple/Package.swift"
- "openiap-versions.json"
- ".github/workflows/ci-expo-iap.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
working-directory: libraries/expo-iap
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.13
- uses: actions/cache@v6
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('libraries/expo-iap/bun.lock') }}
restore-keys: ${{ runner.os }}-bun-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Type check
run: bun run lint:tsc
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.13
- uses: actions/cache@v6
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('libraries/expo-iap/bun.lock') }}
restore-keys: ${{ runner.os }}-bun-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build plugin
run: bun run build:plugin
- name: Test
run: npx jest
- name: Test plugin
run: bun run test:plugin
- name: Consumer install smoke test
run: bun run verify:consumer-install
ios-xcode-27:
name: iOS example (Xcode 27)
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: xcode-27
timeout-minutes: 60
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 1
persist-credentials: false
- uses: actions/setup-node@v7
with:
node-version: 20
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.13
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Install example dependencies
working-directory: libraries/expo-iap/example
run: bun install --frozen-lockfile
- name: Generate scene-based iOS project
working-directory: libraries/expo-iap/example
run: npx expo prebuild --platform ios --clean
- name: Install CocoaPods dependencies
working-directory: libraries/expo-iap/example/ios
run: pod install --repo-update
- name: Build scene-based iOS example
working-directory: libraries/expo-iap/example/ios
run: |
set -o pipefail
xcodebuild build \
-workspace expoiapexample.xcworkspace \
-scheme ExpoIAPExample \
-destination 'generic/platform=iOS Simulator' \
-configuration Debug \
CODE_SIGNING_ALLOWED=NO \
COMPILER_INDEX_STORE_ENABLE=NO