GithubHelp home page GithubHelp logo

heyitsquoracom / github-run-tests-action Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mablhq/github-run-tests-action

0.0 0.0 0.0 5.59 MB

mabl Github Actions implementation

License: MIT License

JavaScript 0.42% TypeScript 94.65% HTML 4.93%

github-run-tests-action's Introduction

mabl logo

mabl GitHub Run Tests Deployment Action

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.

Example workflow: Simple

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>

Example workflow: Complete

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>

Environment variables

  • 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.

Inputs

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 mabl
  • mabl-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 deployment
  • set-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 failures
  • event-time {int64} (optional) - Event time the deployment occurred in UTC epoch milliseconds. Defaults to now.

outputs:

  • mabl-deployment-id {string} - mabl id of the deployment
  • plans_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.

Contributing

See here for details on contributing to this action.

License

The Dockerfile and associated scripts and documentation in this project are released under the MIT License.

github-run-tests-action's People

Contributors

dabelche avatar erictatar avatar gcooney avatar jzipursky avatar twistedpair avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.