Skip to content

Liveness/readiness probes #136

Liveness/readiness probes

Liveness/readiness probes #136

Workflow file for this run

name: Run k6 Test Suite
on:
push:
paths:
- 'scripts/**'
- 'k6/**'
release:
types:
- created
# Important: The k6 test suite will only be run against the latest
# release of the Quickpizza service, not against the code in the
# commit itself. Therefore, we only run this Action when the test
# files themselves are modified (or on a new release).
jobs:
runner-job:
runs-on: ubuntu-latest
services:
quickpizza:
image: ghcr.io/grafana/quickpizza-local:latest
ports:
- 3333:3333
- 3334:3334
steps:
- name: Checkout
uses: actions/checkout@v4
# Enable cache for system files: https://github.com/actions/toolkit/issues/946
- name: root suid tar
run: sudo chown root /bin/tar && sudo chmod u+s /bin/tar
- name: Cache k6
id: cache-k6
uses: actions/cache@v4
with:
path: /usr/bin/k6
key: ${{ runner.os }}-k6
# cannot use the k6 docker image because it does not allow executing shell commands
- name: Install k6 in Ubuntu
if: steps.cache-k6.outputs.cache-hit != 'true'
run: |
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
# Install Chrome (or chromium) when using ACT, as the default ACT image does not include it.
# Note that running the browser in a container like Snap or Flatpak is not supported.
- name: Install chrome
if: ${{ env.ACT }}
run: |
wget -q -O - https://dl.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-chrome.list'
sudo apt update && sudo apt install -y google-chrome-stable
# If you plan to run ACT on Apple Silicon, be aware that Chrome has not yet released an arm64 version. In this case, you have to:
# 1. Enable the option on Docker Desktop: `Use Rosetta for x86/amd64 emulation on Apple Silicon`
# 2. Run ACT using the `--container-architecture linux/amd64` flag. For example:
# act -W .github/workflows/k6-tests.yaml --container-architecture linux/amd64
- name: Run k6 foundations tests
run: ./scripts/run-tests.sh -t **/k6/foundations/*.js -u http://localhost:3333
env:
ACT: ${{ env.ACT }}
- name: Run k6 browser tests
run: ./scripts/run-tests.sh -t **/k6/browser/*.js -u http://localhost:3333
env:
ACT: ${{ env.ACT }}