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