26
26
id : define_release_channels
27
27
with :
28
28
script : |
29
- return [' stable', ' experimental' ];
29
+ return [" stable", " experimental" ];
30
30
31
31
build :
32
32
name : yarn build
@@ -51,12 +51,14 @@ jobs:
51
51
key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
52
52
- run : yarn install --frozen-lockfile
53
53
- run : yarn build --b=${{ matrix.bundle_type }} --r=${{ matrix.release_channel }} --ci=github
54
+ - name : Display structure of build
55
+ run : ls -R build
54
56
- name : Archive build
55
57
uses : actions/upload-artifact@v4
56
58
with :
57
- name : ${{ matrix.bundle_type }}- ${{ matrix.release_channel }}
59
+ name : ${{ matrix.bundle_type }}_ ${{ matrix.release_channel }}
58
60
path : |
59
- build/**
61
+ build
60
62
61
63
lint_build :
62
64
name : yarn lint-build
65
67
matrix :
66
68
bundle_type : ${{ fromJSON(needs.define_build_params.outputs.bundle_type) }}
67
69
release_channel : ${{ fromJSON(needs.define_build_params.outputs.release_channel) }}
70
+ continue-on-error : true
68
71
runs-on : ubuntu-latest
69
72
steps :
70
73
- uses : actions/checkout@v4
79
82
with :
80
83
path : " **/node_modules"
81
84
key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
85
+ - run : yarn install --frozen-lockfile
82
86
- name : Restore archived build
83
87
uses : actions/download-artifact@v4
84
88
with :
85
- name : ${{ matrix.bundle_type }}-${{ matrix.release_channel }}
86
- - run : yarn install --frozen-lockfile
89
+ name : ${{ matrix.bundle_type }}_${{ matrix.release_channel }}
90
+ path : build
91
+ - name : Display structure of build
92
+ run : ls -R build
87
93
- run : yarn lint-build
94
+
95
+ test_build :
96
+ name : yarn test-build
97
+ needs : build
98
+ strategy :
99
+ matrix :
100
+ test_params : [
101
+ # Intentionally passing these as strings instead of creating a
102
+ # separate parameter per CLI argument, since it's easier to
103
+ # control/see which combinations we want to run.
104
+ -r=stable --env=development,
105
+ -r=stable --env=production,
106
+ -r=experimental --env=development,
107
+ -r=experimental --env=production,
108
+
109
+ # Dev Tools
110
+ --project=devtools -r=experimental,
111
+
112
+ # TODO: Update test config to support www build tests
113
+ # - "-r=www-classic --env=development --variant=false"
114
+ # - "-r=www-classic --env=production --variant=false"
115
+ # - "-r=www-classic --env=development --variant=true"
116
+ # - "-r=www-classic --env=production --variant=true"
117
+ # - "-r=www-modern --env=development --variant=false"
118
+ # - "-r=www-modern --env=production --variant=false"
119
+ # - "-r=www-modern --env=development --variant=true"
120
+ # - "-r=www-modern --env=production --variant=true"
121
+
122
+ # TODO: Update test config to support xplat build tests
123
+ # - "-r=xplat --env=development --variant=false"
124
+ # - "-r=xplat --env=development --variant=true"
125
+ # - "-r=xplat --env=production --variant=false"
126
+ # - "-r=xplat --env=production --variant=true"
127
+
128
+ # TODO: Test more persistent configurations?
129
+ ]
130
+ continue-on-error : true
131
+ runs-on : ubuntu-latest
132
+ steps :
133
+ - uses : actions/checkout@v4
134
+ - uses : actions/setup-node@v4
135
+ with :
136
+ node-version : 18.x
137
+ cache : " yarn"
138
+ cache-dependency-path : yarn.lock
139
+ - name : Restore cached node_modules
140
+ uses : actions/cache@v4
141
+ id : node_modules
142
+ with :
143
+ path : " **/node_modules"
144
+ key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
145
+ - run : yarn install --frozen-lockfile
146
+ - name : Restore archived build
147
+ uses : actions/download-artifact@v4
148
+ with :
149
+ path : build-temp
150
+ - name : Display structure of build
151
+ run : ls -R build-temp
152
+ # - run: yarn test --build ${{ matrix.test_params }} --ci=github
153
+
0 commit comments