Skip to content

Commit

Permalink
Add running browser examples in CI as it did in xk6-browser
Browse files Browse the repository at this point in the history
  • Loading branch information
mstoykov committed Dec 12, 2024
1 parent 16c384a commit d884406
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/browser_e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: E2E
on:
# Enable manually triggering this workflow via the API or web UI
workflow_dispatch:
push:
branches:
- main
pull_request:
schedule:
# At 06:00 AM UTC from Monday through Friday
- cron: '0 6 * * 1-5'

defaults:
run:
shell: bash

jobs:
test:
strategy:
matrix:
go: [stable, tip]
platform: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout code
if: matrix.go != 'tip' || matrix.platform != 'windows-latest'
uses: actions/checkout@v4
- name: Install Go
if: matrix.go != 'tip' || matrix.platform != 'windows-latest'
uses: actions/setup-go@v5
with:
go-version: 1.x
- name: Install Go tip
if: matrix.go == 'tip' && matrix.platform != 'windows-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release download ${{ matrix.platform }} --repo grafana/gotip --pattern 'go.zip'
unzip go.zip -d $HOME/sdk
echo "GOROOT=$HOME/sdk/gotip" >> "$GITHUB_ENV"
echo "GOPATH=$HOME/go" >> "$GITHUB_ENV"
echo "$HOME/go/bin" >> "$GITHUB_PATH"
echo "$HOME/sdk/gotip/bin" >> "$GITHUB_PATH"
- name: Build k6
if: matrix.go != 'tip' || matrix.platform != 'windows-latest'
run: |
which go
go version
go build .
./k6 version
- name: Run E2E tests
if: matrix.go != 'tip' || matrix.platform != 'windows-latest'
run: |
set -x
if [ "$RUNNER_OS" == "Linux" ]; then
export K6_BROWSER_EXECUTABLE_PATH=/usr/bin/google-chrome
fi
export K6_BROWSER_HEADLESS=true
for f in examples/browser/*.js; do
if [ "$f" == "examples/browser/hosts.js" ] && [ "$RUNNER_OS" == "Windows" ]; then
echo "skipping $f on Windows"
continue
fi
./k6 run -q "$f"
done
- name: Check screenshot
if: matrix.go != 'tip' || matrix.platform != 'windows-latest'
# TODO: Do something more sophisticated?
run: test -s screenshot.png

0 comments on commit d884406

Please sign in to comment.