11---
2- name : Smoke Test Execution
2+ name : Fx Test Execution
33
44run-name : ${{ github.actor }} is running smoke tests
55on :
1717 description : " Is this a PR?"
1818 default : false
1919 type : boolean
20+ test_set :
21+ description : " Test set to run"
22+ default : null
23+ required : false
24+ type : string
2025 workflow_dispatch :
2126 inputs :
2227 win_installer_link :
3944 SVC_ACCT_DECRYPT : ${{ secrets.SVC_ACCT_DECRYPT }}
4045
4146jobs :
42- Smoke -Windows :
43- if : ${{ inputs.job_to_run == 'Smoke -Windows' || inputs.win_installer_link }}
47+ Test -Windows :
48+ if : ${{ inputs.job_to_run == 'Test -Windows' || inputs.win_installer_link }}
4449 runs-on : windows-latest
4550 steps :
4651 - name : Checkout repository
@@ -52,20 +57,22 @@ jobs:
5257 - name : Set Environment (Manual)
5358 if : ${{ inputs.win_installer_link }}
5459 run : |
55- $env_contents = @"
56- MANUAL='true'
57- "@
58- New-item -Name .env -Value $env_contents -ItemType File -Force
60+ echo "MANUAL=true" | Out-File -FilePath .env -Encoding utf8 -Append -Force
5961 Write-Host "Running smoke tests on supplied executable"
6062 - name : Set Environment (Scheduled Beta)
61- if : ${{ inputs.job_to_run == 'Smoke -Windows' && inputs.is_pull_request == false}}
63+ if : ${{ inputs.job_to_run == 'Test -Windows' && inputs.is_pull_request == false}}
6264 run : |
63- $env_contents = @"
64- TESTRAIL_REPORT='true'
65- "@
66- New-item -Name .env -Value $env_contents -ItemType File -Force
65+ echo "TESTRAIL_REPORT=true" | Out-File -FilePath .env -Encoding utf8 -Append -Force
6766 Write-Host "Running report for most recent Beta on Windows"
68- Write-Host "$env:TESTRAIL_USERNAME"
67+ - name : Select Test Set
68+ if : ${{ inputs.test_set != null }}
69+ run : |
70+ echo "STARFOX_SPLIT=${{ inputs.test_set }}" | Out-File -FilePath .env -Encoding utf8 -Append -Force
71+ shell : pwsh
72+ - name : Set Functional Split
73+ if : ${{ inputs.test_set == 'functional' }}
74+ run : |
75+ echo "STARFOX_SPLIT=${{ inputs.test_set }}1" | Out-File -FilePath .env -Encoding utf8 -Append -Force
6976 - name : Install dependencies
7077 run : |
7178 mkdir -p artifacts;
8087 echo $gecko_url
8188 Invoke-WebRequest -Uri $gecko_url -OutFile "geckodriver.zip"
8289 unzip geckodriver.zip
90+ echo "$env:GITHUB_WORKSPACE" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
8391 shell : pwsh
8492 - name : Download Beta
8593 if : ${{ !inputs.win_installer_link }}
94102 env :
95103 WIN_INSTALLER_LINK : ${{ inputs.win_installer_link }}
96104 run : |
105+ echo "STARFOX_SPLIT=ci-extended" | Out-File -FilePath .env -Encoding utf8 -Append -Force
97106 Invoke-WebRequest -Uri $WIN_INSTALLER_LINK -OutFile "${{ github.workspace }}\setup.exe"
98107 New-Item -ItemType Directory -Path "C:\Program Files\Custom Firefox" -Force
99108 shell : pwsh
@@ -102,18 +111,18 @@ jobs:
102111 run : |
103112 Start-Process -FilePath "${{ github.workspace }}\setup.exe" -ArgumentList "/S", '/D=C:\Program Files\Custom Firefox' -Wait -NoNewWindow -PassThru
104113 shell : pwsh
105- - name : Run Smoke Tests in Win
114+ - name : Run Tests in Win
106115 if : steps.setup.conclusion == 'success'
107116 run : |
108117 pipenv run python -c "import sys; print(sys.platform)"
109118 $env:FX_EXECUTABLE = "C:\Program Files\Custom Firefox\firefox.exe"
110119 Start-Process -FilePath $env:FX_EXECUTABLE -ArgumentList "--version" -Wait -NoNewWindow
111120 pipenv run python choose_ci_set.py
112- pipenv run pytest --geckodriver geckodriver.exe $(cat selected_tests)
121+ pipenv run pytest $(cat selected_tests) --geckodriver=geckodriver.exe
113122 $env:TEST_EXIT_CODE = $LASTEXITCODE
114123 mv artifacts artifacts-win || true
115124 exit $env:TEST_EXIT_CODE
116- - name : Run Smoke Tests in Win (Headed)
125+ - name : Run Tests in Win (Headed)
117126 if : steps.setup.conclusion == 'success' && always()
118127 env :
119128 REPORTABLE : true
@@ -122,7 +131,7 @@ jobs:
122131 mv ./ci_pyproject_headed.toml ./pyproject.toml;
123132 $env:FX_EXECUTABLE = "C:\Program Files\Custom Firefox\firefox.exe"
124133 pipenv run python choose_ci_set.py
125- pipenv run pytest --geckodriver geckodriver.exe $(cat selected_tests)
134+ pipenv run pytest $(cat selected_tests) --geckodriver=geckodriver.exe
126135 $env:TEST_EXIT_CODE = $LASTEXITCODE
127136 rm artifacts/assets -r -Force
128137 Get-ChildItem -Path "artifacts" | ForEach-Object {
@@ -142,8 +151,8 @@ jobs:
142151 with :
143152 name : artifacts-win-smoke
144153 path : artifacts-win
145- Smoke -MacOS :
146- if : ${{ inputs.job_to_run == 'Smoke -MacOS' || inputs.mac_installer_link }}
154+ Test -MacOS :
155+ if : ${{ inputs.job_to_run == 'Test -MacOS' || inputs.mac_installer_link }}
147156 runs-on : macos-latest
148157 steps :
149158 - name : Checkout repository
@@ -158,14 +167,21 @@ jobs:
158167 exit $?
159168 echo "Triggered by event: ${{ github.event_name }}"
160169 - name : Set Environment (Scheduled Beta)
161- if : ${{ inputs.job_to_run == 'Smoke -MacOS' && inputs.is_pull_request == false}}
170+ if : ${{ inputs.job_to_run == 'Test -MacOS' && inputs.is_pull_request == false}}
162171 run : |
163172 echo "TESTRAIL_REPORT='true'" >> "$GITHUB_ENV";
164173 echo "Running report for most recent Beta on MacOS";
174+ - name : Select Test Set
175+ if : ${{ inputs.test_set != null }}
176+ run : echo "STARFOX_SPLIT=${{ inputs.test_set }}" >> .env
177+ - name : Set Functional Split
178+ if : ${{ inputs.test_set == 'functional' }}
179+ run : echo "STARFOX_SPLIT=${{ inputs.test_set }}1" >> .env
165180 - name : Set Environment (Manual)
166181 if : ${{ inputs.mac_installer_link }}
167182 run : |
168183 echo "MANUAL='true'" >> "$GITHUB_ENV";
184+ echo "STARFOX_SPLIT=ci-extended" >> .env
169185 echo "Running smoke tests on supplied executable";
170186 - name : Install dependencies
171187 run : |
@@ -181,7 +197,7 @@ jobs:
181197 MANUAL_DOWNLOAD_LINK : ${{ inputs.mac_installer_link }}
182198 run :
183199 echo app_name=$(bash ./collect_executables.sh | xargs -0 ./parse_executables.sh) >> "$GITHUB_OUTPUT"
184- - name : Run Smoke Tests in MacOS
200+ - name : Run Tests in MacOS
185201 if : steps.setup.conclusion == 'success'
186202 env :
187203 FX_EXECUTABLE : /Volumes/${{ steps.setup.outputs.app_name }}/${{ steps.setup.outputs.app_name }}.app/Contents/MacOS/firefox
@@ -191,7 +207,7 @@ jobs:
191207 pipenv run pytest --fx-executable="$FX_EXECUTABLE" $(cat selected_tests) || TEST_EXIT_CODE=$?
192208 mv artifacts artifacts-mac || true
193209 exit $TEST_EXIT_CODE
194- - name : Run Smoke Tests in MacOS (Headed)
210+ - name : Run Tests in MacOS (Headed)
195211 if : steps.setup.conclusion == 'success' && always()
196212 env :
197213 FX_EXECUTABLE : /Volumes/${{ steps.setup.outputs.app_name }}/${{ steps.setup.outputs.app_name }}.app/Contents/MacOS/firefox
@@ -229,6 +245,7 @@ jobs:
229245 MANUAL_DOWNLOAD_LINK : ${{ inputs.linux_tarball_link }}
230246 run : |
231247 echo "MANUAL='true'" >> "$GITHUB_ENV";
248+ echo "STARFOX_SPLIT=ci-extended" >> "$GITHUB_ENV"
232249 echo "Running smoke tests on supplied executable";
233250 sudo apt install gnome-screenshot
234251 uname -m;
@@ -265,8 +282,8 @@ jobs:
265282 if : ${{ github.event_name != 'workflow_dispatch' }}
266283 runs-on : ubuntu-latest
267284 needs :
268- - Smoke -Windows
269- - Smoke -MacOS
285+ - Test -Windows
286+ - Test -MacOS
270287 steps :
271288 - name : Checkout repository
272289 uses : actions/checkout@v4
0 commit comments