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