A GitHub action for load testing using Locust
name: Test Locust Load Test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Run Load Test
uses: apardo04/locust-github-action@master
with:
LOCUSTFILE: "locustfile.py"
REQUIREMENTS: "requirements.txt"
URL: "https://google.com"
USERS: "5"
RATE: "5"
RUNTIME: "10s"
LOCUSTFILE
: The locustfile you want to use to load test. If no file is provided, a simple load test will be done on the landing page of the provided URL.REQUIREMENTS
: requirements.txt file you want to use to install 3rd party dependencies. Not required.URL
: URL to the site you want to load test. This is Required.USERS
: Number of Users to spawn. Not required, defaults to 5.RATE
: Specify the hatch rate (number of users to spawn per second). Not required, defaults to 5.RUNTIME
: Specify the run time for a test. Not required, defaults to 10 seconds.
Please see this branch as an example: https://github.com/apardo04/locust-github-action/tree/requirements-test
- Make sure your repo has a requirements.txt file.
- In your workflows yml file, use the REQUIREMENTS input and pass it the path to the file.
- Import the dependencies in your locustfile.py
- Decalare a specific version in your requirements.txt file (See Installing 3rd party dependencies above)
locust==2.5.1
Please see this branch as an example: https://github.com/apardo04/locust-github-action/tree/env-var-test
- Create a repository secret in Github.
- Assign it to an env variable (ex: 'GITHUB_USERNAME') in the workflows yml file: https://github.com/apardo04/locust-github-action/blob/env-var-test/.github/workflows/test.yml
- Reference the env variable in locustfile: https://github.com/apardo04/locust-github-action/blob/env-var-test/locustfile.py