Merge pull request #558 from Webperf-se/csp-redirect-fix #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Regression Test - Performance (Sitespeed.io) Test" | |
on: | |
workflow_dispatch: | |
push: | |
paths-ignore: | |
- '**.md' | |
- 'software-full.json' | |
- 'software-sources.json' | |
- '**update-software.yml' | |
- 'update_software.py' | |
- '**software-rules.json' | |
- 'Dockerfile' | |
- '**regression-test-docker-image.yml' | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
config: ['SITESPEED_USE_DOCKER=False', 'SITESPEED_USE_DOCKER=True'] | |
version: [15] | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax | |
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified | |
- name: Setup dependencies using pip | |
run: pip install -r requirements.txt | |
- name: Setup Node.js (v4 version 20.x) | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
- if: ${{ matrix.os == 'ubuntu-latest' }} | |
name: Setup SpeedIndex dependencies (ONLY used for Sitespeed) - Linux | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y imagemagick libjpeg-dev xz-utils --no-install-recommends --force-yes | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools | |
python -m pip install pyssim Pillow image | |
sudo apt install ffmpeg | |
- if: ${{ matrix.os == 'windows-latest' }} | |
name: Setup SpeedIndex dependencies (ONLY used for Sitespeed) - Windows | |
shell: pwsh | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools | |
python -m pip install pyssim Pillow image | |
Invoke-WebRequest -Uri https://github.com/GyanD/codexffmpeg/releases/download/2022-12-19-git-48d5aecfc4/ffmpeg-2022-12-19-git-48d5aecfc4-full_build.zip -OutFile .\data\ffmpeg-2022-12-19-git-48d5aecfc4-essentials_build.zip | |
Expand-Archive -LiteralPath .\data\ffmpeg-2022-12-19-git-48d5aecfc4-essentials_build.zip -DestinationPath .\data\ | |
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Process) + ";${{ github.workspace }}\data\ffmpeg-2022-12-19-git-48d5aecfc4-full_build\bin;",[System.EnvironmentVariableTarget]::Process); | |
# TODO: unzip ffmpeg and handle ffmpeg.exe (Best way ) | |
# Move-Item -Path .\data\ffmpeg-2022-12-19-git-48d5aecfc4-full_build\bin\ffmpeg.exe -Destination .\ffmpeg.exe | |
- if: ${{ matrix.os == 'ubuntu-latest' }} | |
name: Setup Google Chrome browser (ONLY used for Sitespeed) - Linux | |
run: | | |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' | |
sudo apt-get update | |
sudo apt-get --only-upgrade install google-chrome-stable | |
google-chrome --version | |
- name: Setup npm packages | |
run: npm install | |
- if: ${{ matrix.os == 'ubuntu-latest' }} | |
name: RUNNING TEST - LINUX | |
run: | | |
python default.py -t ${{ matrix.version }} -r -i sites.json -o data/testresult-${{ matrix.version }}.json --setting ${{ matrix.config }} | |
python tools/verify_result.py -t ${{ matrix.version }} | |
- if: ${{ matrix.os == 'windows-latest' }} | |
name: RUNNING TEST - WINDOWS | |
run: | | |
python default.py -t ${{ matrix.version }} -r -i sites.json -o data\testresult-${{ matrix.version }}.json --setting ${{ matrix.config }} | |
python tools\verify_result.py -t ${{ matrix.version }} |