mabl Github Actions implementation
This GitHub Action creates a mabl deployment event, triggering cloud test runs associated with that deployment and waiting for their results.
For more complex use cases, see the setup-mabl-cli Action to access the CLI directly.
To view rich GitHub commit and pull requests information in the mabl app, install the mabl GitHub App in addition to using this action.
on: [push]
name: mabl Simple Example
jobs:
test:
name: mabl Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Functional test deployment
id: mabl-test-deployment
uses: mablhq/github-run-tests-action@v1
env:
# Use a "CI/CD Integration" type of mabl API key
MABL_API_KEY: ${{ secrets.MABL_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
application-id: <your-application-id-a>
environment-id: <your-environment-id-e>
Using all available flags.
on: [push]
name: mabl Complex Example
jobs:
test:
name: mabl Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Functional test deployment
id: mabl-test-deployment
uses: mablhq/github-run-tests-action@v1
env:
# Use a "CI/CD Integration" type of mabl API key
MABL_API_KEY: ${{ secrets.MABL_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
application-id: <your-application-id-a>
environment-id: <your-environment-id-e>
uri: <your-override-url>
mabl-branch: <your-mabl-branch-name>
# Runs for both browsers
browser-types: |
chrome
firefox
# Runs plans matching ANY of the following labels AND the environment/application IDs above
plan-labels: |
canary
smoke-test
http-headers: |
My-Header:the-value
My-Other-Header:the-second-value
continue-on-failure: true
rebaseline-images: true
set-static-baseline: true
event-time: <your-event-time-epoch-milliseconds>
MABL_API_KEY
{string} - Create a "CI/CD Integration" type mabl API key
here. This should
be installed as a secret in your GitHub repository.GITHUB_TOKEN
{string} (optional) - The GitHub token for your repository. If
provided, the mabl action will associate a pull request with the deployment if
the commit being built is associated with any pull requests. This token is
automatically available as a secret in your repo but must be passed in
explicitly in order for the action to be able to access it.Note: Either application-id
or environment-id
must be supplied.
application-id
{string} (optional) - mabl id for the deployed application.
Use the
curl builder
to find the id.environment-id
{string} (optional) - mabl id for the deployed environment.
Use the
curl builder
to find the id.browser-types
{string} (optional): comma or new line separated override for browser
types to test e.g. chrome, firefox, safari, internet_explorer
. If not
provided, mabl will test the browsers configured on the triggered test.plan-labels
{string} (optional): comma or new line separated plan labels to test. Plans matching any label will be run. e.g. smoke-test, beta-feature
. Note: additional selection criteria must also be met like application-id or environment-id, if supplied.uri
{string} (optional) the base uri to test against. If provided, this will
override the default uri associated with the environment in mablmabl-branch
{string} (optional) run tests on the mabl branch of tests with this name. Defaults to master
.http-headers
{string} (optional) Headers to add to all requests e.g. "My-Header:the-value" (comma or new line delimited).rebaseline-images
{boolean} (optional) - Set true
to reset the visual
baseline to the current deploymentset-static-baseline
{boolean} (optional) - Set true
to use current
deployment as an exact static baseline. If set, mabl will not model
dynamic areas and will use the current deployment as the pixel-exact visual
baseline.continue-on-failure
{boolean} (optional) - Set to true to continue the build
even if there are test failuresevent-time
{int64} (optional) - Event time the deployment occurred in UTC
epoch milliseconds. Defaults to now.mabl-deployment-id
{string} - mabl id of the deploymentplans_run
{int32} - number of mabl plans run against this deployment. A mabl
plan is a collection of similarly configured tests.plans_passed
{int32} - number of mabl plans that passed against this
deployment. A mabl plan is a collection of similarly configured tests.plans_failed
{int32} - number of mabl plans that failed against this
deployment. A mabl plan is a collection of similarly configured tests.tests_run
{int32} - total number of mabl tests run against this deployment.tests_passed
{int32} - number of mabl tests that passed against this
deployment.tests_failed
{int32} - number of mabl tests that failed against this
deployment.See here for details on contributing to this action.
The Dockerfile and associated scripts and documentation in this project are released under the MIT License.