42
42
type :
43
43
name : library
44
44
language : js
45
+ - os : windows-latest
46
+ type :
47
+ name : library
48
+ language : js
45
49
46
50
concurrency :
47
51
group : ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.type.name }}-${{ matrix.type.language }}
@@ -61,10 +65,12 @@ jobs:
61
65
yarn workspace create-react-native-library prepare
62
66
63
67
- name : Get working directory
68
+ shell : bash
64
69
run : |
65
70
echo "work_dir=${{ matrix.os }}-${{ matrix.type.name }}-${{ matrix.type.language }}" >> $GITHUB_ENV
66
71
67
72
- name : Create library
73
+ shell : bash
68
74
run : |
69
75
rm -rf ${{ env.work_dir }} # Workaround for tests failing intermittently
70
76
@@ -102,6 +108,7 @@ jobs:
102
108
- name : Install dependencies of library
103
109
if : steps.library-yarn-cache.outputs.cache-hit != 'true'
104
110
working-directory : ${{ env.work_dir }}
111
+ shell : bash
105
112
run : |
106
113
touch yarn.lock # Without this Yarn will fail due to the parent directory being a Yarn workspace
107
114
rm -f example/yarn.lock # Workaround for cached yarn.lock from older version
@@ -117,6 +124,7 @@ jobs:
117
124
key : ${{ steps.library-yarn-cache.outputs.cache-primary-key }}
118
125
119
126
- name : Use local version of react-native-builder-bob
127
+ shell : bash
120
128
run : |
121
129
cd packages/react-native-builder-bob
122
130
npm pack
@@ -127,6 +135,7 @@ jobs:
127
135
128
136
- name : Get build target
129
137
working-directory : ${{ env.work_dir }}
138
+ shell : bash
130
139
run : |
131
140
# Build Android for only some matrices to skip redundant builds
132
141
if [[ ${{ matrix.os }} =~ ubuntu ]]; then
@@ -160,6 +169,7 @@ jobs:
160
169
- name : Check turborepo cache
161
170
if : env.android_build == 1 || env.ios_build == 1
162
171
working-directory : ${{ env.work_dir }}
172
+ shell : bash
163
173
run : |
164
174
TURBO_CACHE_STATUS_ANDROID=$(node -p "($(yarn turbo run build:android --cache-dir=".turbo" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
165
175
TURBO_CACHE_STATUS_IOS=$(node -p "($(yarn turbo run build:ios --cache-dir=".turbo" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
@@ -193,8 +203,9 @@ jobs:
193
203
yarn prepare
194
204
195
205
- name : Build example (Web)
196
- working-directory : ${{ env.work_dir }}
197
206
if : matrix.type.language == 'js'
207
+ working-directory : ${{ env.work_dir }}
208
+ shell : bash
198
209
run : |
199
210
# Clean up built JS files
200
211
# So we test that bundling works without any pre-built files
0 commit comments