50 lines
2.3 KiB
YAML
50 lines
2.3 KiB
YAML
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:
|
|
- uses: actions/checkout@v4
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22.x'
|
|
- 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
|
|
run: |
|
|
docker build --load -t ssh-server-password --file test/docker/Dockerfile.scp .
|
|
docker run -d -p 2222:22 ssh-server-password
|
|
- 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: 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 /home/scpuser/
|
|
- 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 |