2626 id : define_release_channels
2727 with :
2828 script : |
29- return [' stable', ' experimental' ];
29+ return [" stable", " experimental" ];
3030
3131 build :
3232 name : yarn build
@@ -51,12 +51,16 @@ jobs:
5151 key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
5252 - run : yarn install --frozen-lockfile
5353 - run : yarn build --b=${{ matrix.bundle_type }} --r=${{ matrix.release_channel }} --ci=github
54+ env :
55+ CI : github
56+ - name : Display structure of build
57+ run : ls -R build
5458 - name : Archive build
5559 uses : actions/upload-artifact@v4
5660 with :
57- name : ${{ matrix.bundle_type }}- ${{ matrix.release_channel }}
61+ name : ${{ matrix.bundle_type }}_ ${{ matrix.release_channel }}
5862 path : |
59- build/**
63+ build
6064
6165 lint_build :
6266 name : yarn lint-build
6569 matrix :
6670 bundle_type : ${{ fromJSON(needs.define_build_params.outputs.bundle_type) }}
6771 release_channel : ${{ fromJSON(needs.define_build_params.outputs.release_channel) }}
72+ continue-on-error : true
6873 runs-on : ubuntu-latest
6974 steps :
7075 - uses : actions/checkout@v4
7984 with :
8085 path : " **/node_modules"
8186 key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
87+ - run : yarn install --frozen-lockfile
8288 - name : Restore archived build
8389 uses : actions/download-artifact@v4
8490 with :
85- name : ${{ matrix.bundle_type }}-${{ matrix.release_channel }}
86- - run : yarn install --frozen-lockfile
91+ name : ${{ matrix.bundle_type }}_${{ matrix.release_channel }}
92+ path : build
93+ - name : Display structure of build
94+ run : ls -R build
8795 - run : yarn lint-build
96+
97+ test_build :
98+ name : yarn test-build
99+ needs : build
100+ strategy :
101+ matrix :
102+ test_params : [
103+ # Intentionally passing these as strings instead of creating a
104+ # separate parameter per CLI argument, since it's easier to
105+ # control/see which combinations we want to run.
106+ -r=stable --env=development,
107+ -r=stable --env=production,
108+ -r=experimental --env=development,
109+ -r=experimental --env=production,
110+
111+ # Dev Tools
112+ --project=devtools -r=experimental,
113+
114+ # TODO: Update test config to support www build tests
115+ # - "-r=www-classic --env=development --variant=false"
116+ # - "-r=www-classic --env=production --variant=false"
117+ # - "-r=www-classic --env=development --variant=true"
118+ # - "-r=www-classic --env=production --variant=true"
119+ # - "-r=www-modern --env=development --variant=false"
120+ # - "-r=www-modern --env=production --variant=false"
121+ # - "-r=www-modern --env=development --variant=true"
122+ # - "-r=www-modern --env=production --variant=true"
123+
124+ # TODO: Update test config to support xplat build tests
125+ # - "-r=xplat --env=development --variant=false"
126+ # - "-r=xplat --env=development --variant=true"
127+ # - "-r=xplat --env=production --variant=false"
128+ # - "-r=xplat --env=production --variant=true"
129+
130+ # TODO: Test more persistent configurations?
131+ ]
132+ continue-on-error : true
133+ runs-on : ubuntu-latest
134+ steps :
135+ - uses : actions/checkout@v4
136+ - uses : actions/setup-node@v4
137+ with :
138+ node-version : 18.x
139+ cache : " yarn"
140+ cache-dependency-path : yarn.lock
141+ - name : Restore cached node_modules
142+ uses : actions/cache@v4
143+ id : node_modules
144+ with :
145+ path : " **/node_modules"
146+ key : ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
147+ - run : yarn install --frozen-lockfile
148+ - name : Restore archived build
149+ uses : actions/download-artifact@v4
150+ with :
151+ path : build
152+ merge-multiple : true
153+ - name : Display structure of build
154+ run : ls -R build
155+ - run : yarn test --build ${{ matrix.test_params }} --ci=github
156+
0 commit comments