Chrome 152, Firefox 154, Edge 151 #1435
Workflow file for this run
This file contains hidden or 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: Test upload functionality | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| if: ${{ !contains(github.event.head_commit.message, 'docs:') }} | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 | |
| with: | |
| egress-policy: audit | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Use Node.js | |
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 | |
| with: | |
| node-version: '24.x' | |
| cache: 'npm' | |
| - name: Install sitespeed.io | |
| run: npm ci | |
| - name: Install Chrome | |
| 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 SSH/SCP container | |
| # Use a pre-built linuxserver/openssh-server image instead of an | |
| # apt-build on every CI run — Ubuntu's public mirrors have flaked | |
| # repeatedly during `apt-get update` here. The user's home is | |
| # /config (linuxserver convention), which is why the test below | |
| # uses --scp.destinationPath /config/ rather than /home/scpuser/. | |
| # We install rsync inside the container so the rsync plugin test | |
| # below can use it on the receiving side. | |
| run: | | |
| docker run -d --name ssh-test -p 2222:2222 \ | |
| -e PUID=1000 -e PGID=1000 \ | |
| -e USER_NAME=scpuser \ | |
| -e USER_PASSWORD=password \ | |
| -e PASSWORD_ACCESS=true \ | |
| lscr.io/linuxserver/openssh-server:latest | |
| for i in $(seq 1 20); do | |
| if docker exec ssh-test apk --version >/dev/null 2>&1; then break; fi | |
| sleep 1 | |
| done | |
| docker exec ssh-test apk add --no-cache rsync | |
| - name: Setup GCS container | |
| run: | | |
| docker run -d -p 8081:8081 fsouza/fake-gcs-server:1.50 -scheme http -port 8081 -external-url http://localhost:8081 -backend memory | |
| curl -X POST -H "Content-Type: application/json" \ | |
| -d '{"name": "sitespeed"}' \ | |
| http://127.0.0.1:8081/storage/v1/b?project=sitespeed | |
| - name: Setup minio/S3 container | |
| run: | | |
| docker compose -f test/docker/docker-compose.minio.yml up -d | |
| - name: Install local HTTP server | |
| run: npm install serve -g | |
| - name: Start local HTTP server | |
| run: (serve test/data/html/ -l 3001&) | |
| - name: Install sshpass for the rsync password test | |
| run: sudo apt-get install -y sshpass | |
| - name: Run Chrome test sending data using scp | |
| run: bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --scp.host localhost --scp.port 2222 --scp.username scpuser --scp.password password --scp.destinationPath /config/ | |
| - name: Run Chrome test sending data using rsync | |
| run: bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --rsync.host localhost --rsync.port 2222 --rsync.username scpuser --rsync.password password --rsync.destinationPath /config/ | |
| - name: Run Chrome test sending data to GCS | |
| run: STORAGE_EMULATOR_HOST="http://localhost:8081" node bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --gcs.bucketname sitespeed --gcs.projectId sitespeed | |
| - name: Run Chrome test sending data to S3 | |
| run: node bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --s3.endpoint http://127.0.0.1:9000 --s3.bucketname sitespeedio --s3.key user --s3.secret password --s3.region motown |