Skip to content

vsangereanMOZ is running smoke tests #908

vsangereanMOZ is running smoke tests

vsangereanMOZ is running smoke tests #908

Workflow file for this run

---
name: Mac and Windows Smoke
run-name: ${{ github.actor }} is running smoke tests
on:
pull_request:
workflow_call:
inputs:
job_to_run:
required: true
type: string
jobs:
Smoke-Windows:
if: ${{ inputs.job_to_run == 'Smoke-Windows' || github.event_name == 'pull_request'}}
runs-on: windows-latest
steps:
- name: Set Environment
if: ${{ inputs.job_to_run == 'Smoke-Windows' }}
run:
echo "TESTRAIL_REPORT='true'" >> "$GITHUB_ENV";
echo "TESTRAIL_BASE_URL="${{ secrets.TESTRAIL_BASE_URL }} >> "$GITHUB_ENV";
echo "TESTRAIL_USERNAME="${{ secrets.TESTRAIL_USERNAME }} >> "$GITHUB_ENV";
echo "TESTRAIL_API_KEY="${{ secrets.TESTRAIL_API_KEY }} >> "$GITHUB_ENV";
echo "Running report for most recent Beta on Windows"
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
mkdir -p artifacts;
pip3 install 'pipenv==2023.11.15';
pip3 install 'ruff>=0.4.8,<0.5';
rm ./pyproject.toml;
mv ./ci_pyproject.toml ./pyproject.toml;
pipenv install;
- name: Download Geckodriver
run: |
$gecko_url = (pipenv run python collect_executables.py -g) -join "`n"
echo $gecko_url
Invoke-WebRequest -Uri $gecko_url -OutFile "geckodriver.zip"
unzip geckodriver.zip
shell: pwsh
- name: Download Beta
run: |
$fx_url = (pipenv run python collect_executables.py) -join "`n"
echo $fx_url
Invoke-WebRequest -Uri $fx_url -OutFile "${{ github.workspace }}\setup.exe"
New-Item -ItemType Directory -Path "C:\Program Files\Custom Firefox" -Force
shell: pwsh
- name: Install Beta
id: setup
run: |
Start-Process -FilePath "${{ github.workspace }}\setup.exe" -ArgumentList "/S", '/D=C:\Program Files\Custom Firefox' -Wait -NoNewWindow -PassThru
shell: pwsh
- name: Run Smoke Tests in Win
if: steps.setup.conclusion == 'success'
run: |
pipenv run python -c "import sys; print(sys.platform)"
Start-Process -FilePath "C:\Program Files\Custom Firefox\firefox.exe" -ArgumentList "--version" -Wait -NoNewWindow
pipenv run pytest -n 4 .
$env:TEST_EXIT_CODE = $LASTEXITCODE
mv artifacts artifacts-win || true
exit $env:TEST_EXIT_CODE
- name: Commit Changed Tracker Files
if: ${{ inputs.job_to_run == 'Smoke-Windows' }}
run: |
git config --global user.email ${{ github.actor }}"@users.noreply.github.com"
git config --global user.name ${{ github.actor }}
git remote set-head origin --auto
git add win-latest-reported-version
git commit -m "update windows reported version"
- name: Run Smoke Tests in Win (Headed)
if: steps.setup.conclusion == 'success' && always()
run: |
rm ./pyproject.toml;
mv ./ci_pyproject_headed.toml ./pyproject.toml;
pipenv run pytest .
$env:TEST_EXIT_CODE = $LASTEXITCODE
rm artifacts/assets -r -Force
Get-ChildItem -Path "artifacts" | ForEach-Object {
$destPath = "artifacts-win\" + $_.Name
if (-not (Test-Path -Path $destPath)) {
try {
Move-Item -Path $_.FullName -Destination $destPath
} catch {
# Ignore errors and continue
}
}
}
exit $env:TEST_EXIT_CODE
- name: Upload artifacts
if: ${{ always() && github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v4
with:
name: artifacts-win
path: artifacts-win
Smoke-MacOS:
if: ${{ inputs.job_to_run == 'Smoke-MacOS' || github.event_name == 'pull_request'}}
runs-on: macos-latest
steps:
- name: Set Environment
if: ${{ inputs.job_to_run == 'Smoke-MacOS' }}
run:
echo "TESTRAIL_REPORT='true'" >> "$GITHUB_ENV";
echo "TESTRAIL_BASE_URL="${{ secrets.TESTRAIL_BASE_URL }} >> "$GITHUB_ENV";
echo "TESTRAIL_USERNAME="${{ secrets.TESTRAIL_USERNAME }} >> "$GITHUB_ENV";
echo "TESTRAIL_API_KEY="${{ secrets.TESTRAIL_API_KEY }} >> "$GITHUB_ENV";
echo "Running report for most recent Beta on MacOS"
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
id: setup
run: |
mkdir -p artifacts;
pip3 install 'pipenv==2023.11.15';
pip3 install 'ruff>=0.4.8,<0.5';
rm ./pyproject.toml;
mv ./ci_pyproject.toml ./pyproject.toml;
pipenv install;
bash ./collect_executables.sh;
- name: Run Smoke Tests in MacOS
if: steps.setup.conclusion == 'success'
run: |
/Volumes/Firefox/Firefox.app/Contents/MacOS/firefox --version
pipenv run pytest --fx-executable=/Volumes/Firefox/Firefox.app/Contents/MacOS/firefox -n 4 . || TEST_EXIT_CODE=$?
mv artifacts artifacts-mac || true
exit $TEST_EXIT_CODE
- name: Commit Changed Tracker Files
if: ${{ inputs.job_to_run == 'Smoke-MacOS' }}
run: |
git config --global user.email ${{ github.actor }}"@users.noreply.github.com"
git config --global user.name ${{ github.actor }}
git remote set-head origin --auto
git add mac-latest-reported-version
git commit -m "update macos reported version"
- name: Run Smoke Tests in MacOS (Headed)
if: steps.setup.conclusion == 'success' && always()
run: |
mv ./ci_pyproject_headed.toml ./pyproject.toml;
pipenv run pytest --fx-executable=/Volumes/Firefox/Firefox.app/Contents/MacOS/firefox . || TEST_EXIT_CODE=$?
mv -n artifacts/* artifacts-mac/ || true
exit $TEST_EXIT_CODE
- name: Upload artifacts
if: ${{ always() && github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v4
with:
name: artifacts-mac
path: artifacts-mac
Use-Artifacts:
runs-on: ubuntu-latest
needs:
- Smoke-Windows
- Smoke-MacOS
if: ${{ always() && github.event_name == 'pull_request' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip3 install 'pipenv==2023.11.15'
pipenv install
- name: Download Windows artifact
uses: actions/download-artifact@v4
with:
name: artifacts-win
path: artifacts-win
- name: Download MacOS artifact
uses: actions/download-artifact@v4
with:
name: artifacts-mac
path: artifacts-mac
- name: List downloaded files
run: ls artifacts-win/
- name: List downloaded MacOS files
run: ls artifacts-mac/
- name: Run script with secret
env:
SLACK_KEY: ${{ secrets.SLACK_KEY }}
GCP_CREDENTIAL: ${{ secrets.GCP_CREDENTIAL }}
GITHUB_SHA: ${{ github.sha }}
GITHUB_RUN_ID: ${{ github.run_id }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_REF_NAME: ${{ github.ref_name }}
run: |
pipenv run python notifier.py