Skip to content

Montara CI

Actions
Never merge a broken pipeline again
v1.0.20
Latest
Verified creator
Star (0)

Verified

GitHub has manually verified the creator of the action as an official partner organization. For more info see About badges in GitHub Marketplace.

Montara CI

GitHub Super-Linter CI Check dist/ CodeQL

🤔 What is Montara CI?

Montara CI is a GitHub Action that allows you to execute a pipeline test run in Montara before merging a pull request. If the pipeline fails, the pull request can not be merged.

Getting started

  • Create a Montara account

  • Connect Montara to your data warehouse (see Docs).

  • Connect Montara to your git repo in the Montara settings page (see Docs).

  • Montara CI triggers a test run via a webhook. Copy the webhook URL from the pipeline settings page in Montara. Webhook url

  • Create a ci.yml file in your .github/workflows directory with the following content:

  • [Recommended] Add a required status check in your repo settings to ensure that the pipeline runs successfully before merging a PR. Webhook url

  • [Recommended] The test run will run on an isolated schema according to the user who created the PR. You can also specify a fallback schema to override this behavior if the PR is created outside of Montara.

  • [Optional] You can pass variables to the test run by setting the variables parameter to a JSON object of key-value pairs. for example:

    variables: '{"var1": "value1", "var2": "value2"}'
  • [Optional] The test run by default will run a Montara smart run. You can disable this by setting the isSmartRun parameter to false.

  • [Optional] You can choose to run the montara pipline with full refreshby setting the fullRefresh parameter to true.

  • [Optional] The test run by default will run in parallel to any pipelines that might run at the same time. You can disable this by setting the allowConcurrentPipelineRuns parameter to false.

name: Montara CI
on:
  pull_request:
    types: [opened, synchronize, reopened]
permissions:
  contents: read
  issues: write
  pull-requests: write

jobs:
  montara:
    runs-on: ubuntu-latest
    steps:
      - name: Montara CI
        uses: montara-io/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          webhookUrl: <your-montara-webhook-url>
          fallbackSchema: <[optional]your-fallback-schema>

[optional]

isSmartRun: <[optional]true|false>
fullRefresh: <[optional]true|false>
allowConcurrentPipelineRuns: <[optional]true|false>
variables: <[optional]{key: value}>
  • You're good to go 🚀. Go ahead and create a new PR.

Contributing to Montara CI

  1. Clone the repo git clone github.com/montara-io/montara-ci

  2. 🛠️ Install the dependencies

    npm install
  3. 🏗️ Package the TypeScript for distribution

    npm run bundle
  4. ✅ Run the tests

    $ npm test
    
    PASS  ./index.test.js
      ✓ throws invalid number (3ms)
      ✓ wait 500 ms (504ms)
      ✓ test runs (95ms)
    
    ...
  5. Make your changes

  6. Format, test, and build the action

    npm run all

Publishing a New Release

  • npm run all
  • sh ./script/release
  • Find your newly created tag in the tags section of the repo.
  • Release the tag.

Montara CI is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Never merge a broken pipeline again
v1.0.20
Latest

Verified

GitHub has manually verified the creator of the action as an official partner organization. For more info see About badges in GitHub Marketplace.

Montara CI is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.