16
16
type : string
17
17
workflow_dispatch :
18
18
inputs :
19
- win_executable_link :
20
- description : ' The link to the Windows executable to run smoke tests for '
19
+ win_installer_link :
20
+ description : ' The link to the Windows installer for the Fx under test '
21
21
required : true
22
22
type : string
23
- mac_executable_link :
24
- description : ' The link to the macOS executable to run smoke tests for'
23
+ mac_installer_link :
24
+ description : ' The link to the macOS installer for the Fx under test'
25
+ required : true
26
+ type : string
27
+ linux_tarball_link :
28
+ description : ' The link to the Linux tarball for the Fx under test'
25
29
required : true
26
30
type : string
27
31
env :
51
55
with :
52
56
python-version : " 3.11"
53
57
- name : Set Environment (Manual)
54
- if : ${{ inputs.win_executable_link }}
58
+ if : ${{ inputs.win_installer_link }}
55
59
run : |
56
60
$env_contents = @"
57
61
MANUAL='true'
@@ -83,17 +87,17 @@ jobs:
83
87
unzip geckodriver.zip
84
88
shell : pwsh
85
89
- name : Download Beta
86
- if : ${{ !inputs.win_executable_link }}
90
+ if : ${{ !inputs.win_installer_link }}
87
91
run : |
88
92
$fx_url = (pipenv run python collect_executables.py) -join "`n"
89
93
echo $fx_url
90
94
Invoke-WebRequest -Uri $fx_url -OutFile "${{ github.workspace }}\setup.exe"
91
95
New-Item -ItemType Directory -Path "C:\Program Files\Custom Firefox" -Force
92
96
shell : pwsh
93
97
- name : Download Executable
94
- if : ${{ inputs.win_executable_link }}
98
+ if : ${{ inputs.win_installer_link }}
95
99
run : |
96
- Invoke-WebRequest -Uri ${{ inputs.win_executable_link }} -OutFile "${{ github.workspace }}\setup.exe"
100
+ Invoke-WebRequest -Uri ${{ inputs.win_installer_link }} -OutFile "${{ github.workspace }}\setup.exe"
97
101
New-Item -ItemType Directory -Path "C:\Program Files\Custom Firefox" -Force
98
102
shell : pwsh
99
103
- name : Install Beta
@@ -170,7 +174,7 @@ jobs:
170
174
echo "TESTRAIL_REPORT='true'" >> "$GITHUB_ENV";
171
175
echo "Running report for most recent Beta on MacOS";
172
176
- name : Set Environment (Manual)
173
- if : ${{ inputs.mac_executable_link }}
177
+ if : ${{ inputs.mac_installer_link }}
174
178
run : |
175
179
echo "MANUAL='true'" >> "$GITHUB_ENV";
176
180
echo "Running smoke tests on supplied executable";
@@ -185,7 +189,7 @@ jobs:
185
189
- name : Install Fx
186
190
id : setup
187
191
env :
188
- MANUAL_DOWNLOAD_LINK : ${{ inputs.mac_executable_link }}
192
+ MANUAL_DOWNLOAD_LINK : ${{ inputs.mac_installer_link }}
189
193
run :
190
194
echo app_name=$(bash ./collect_executables.sh | xargs -0 ./parse_executables.sh) >> "$GITHUB_OUTPUT"
191
195
- name : Run Smoke Tests in MacOS
@@ -215,6 +219,64 @@ jobs:
215
219
with :
216
220
name : artifacts-mac
217
221
path : artifacts-mac
222
+ Smoke-Linux :
223
+ if : ${{ github.event_name == 'workflow_dispatch' }}
224
+ runs-on : ubuntu-latest
225
+ steps :
226
+ - name : Create app token
227
+ uses : actions/create-github-app-token@v1
228
+ id : app-token
229
+ with :
230
+ app-id : ${{ secrets.BOT_CLIENT_ID }}
231
+ private-key : ${{ secrets.BOT_PRIVATE_KEY }}
232
+ - name : Checkout repository
233
+ uses : actions/checkout@v4
234
+ with :
235
+ token : ${{ steps.app-token.outputs.token }}
236
+ - name : Set up Python 3.11
237
+ uses : actions/setup-python@v5
238
+ with :
239
+ python-version : " 3.11"
240
+ - name : Check test case numbers
241
+ run : |
242
+ python check_test_cases.py
243
+ exit $?
244
+ echo "Triggered by event: ${{ github.event_name }}"
245
+ - name : Install dependencies
246
+ id : setup
247
+ env :
248
+ MANUAL_DOWNLOAD_LINK : ${{ inputs.linux_tarball_link }}
249
+ run : |
250
+ echo "MANUAL='true'" >> "$GITHUB_ENV";
251
+ echo "Running smoke tests on supplied executable";
252
+ mkdir -p artifacts;
253
+ pip3 install 'pipenv==2023.11.15';
254
+ pip3 install 'ruff>=0.4.8,<0.5';
255
+ rm ./pyproject.toml;
256
+ mv ./ci_pyproject.toml ./pyproject.toml;
257
+ pipenv install;
258
+ ./collect_executables.sh
259
+ ./firefox/firefox --version;
260
+ . ./keyring-unlock.sh;
261
+ - name : Run Smoke Tests in Ubuntu
262
+ if : steps.setup.conclusion == 'success'
263
+ env :
264
+ FX_EXECUTABLE : ./firefox/firefox
265
+ run : |
266
+ "$FX_EXECUTABLE" --version
267
+ pipenv run python choose_ci_set.py
268
+ pipenv run pytest --fx-executable="$FX_EXECUTABLE" -n 4 $(cat selected_tests) || TEST_EXIT_CODE=$?
269
+ exit $TEST_EXIT_CODE
270
+ - name : Run Smoke Tests in Ubuntu (Headed)
271
+ if : steps.setup.conclusion == 'success' && always()
272
+ env :
273
+ FX_EXECUTABLE : ./firefox/firefox
274
+ REPORTABLE : true
275
+ run : |
276
+ mv ./ci_pyproject_headed.toml ./pyproject.toml;
277
+ pipenv run python choose_ci_set.py
278
+ pipenv run pytest --fx-executable="$FX_EXECUTABLE" $(cat selected_tests) || TEST_EXIT_CODE=$?
279
+ exit $TEST_EXIT_CODE
218
280
219
281
Use-Artifacts :
220
282
runs-on : ubuntu-latest
0 commit comments