### Quickstart for Actions Runner Controller (ARC) Source: https://docs.github.com/en/actions/writing-workflows/quickstart Get started with the Actions Runner Controller (ARC) for managing GitHub Actions runners. This quickstart guide helps you deploy and use ARC runners efficiently. ```APIDOC Actions Runner Controller (ARC) Quickstart: - Prerequisites: Kubernetes cluster, kubectl, Helm. - Installation: Deploying ARC using Helm charts. - Configuration: Setting up runner deployment configurations. - Usage: Specifying ARC runners in GitHub Actions workflows. - Verification: Checking runner status and logs. ``` -------------------------------- ### Datafold Deployment Testing: Getting Started Source: https://docs.datafold.com/integrations/bi-data-apps/tracking-jobs Guides for getting started with deployment testing in Datafold, including specific instructions for dbt Cloud customers. ```APIDOC Deployment Testing Getting Started: Description: Initial steps and guides for setting up deployment testing, including specific workflows for dbt users. Related: /deployment-testing/getting-started, /deployment_testing/team_cloud/getting_started_for_customers, /deployment_testing/team_cloud/getting_started_for_customers/dbt ``` -------------------------------- ### Datafold API Setup and Dependencies Source: https://github.com/datafold/datafold-api-examples Instructions for setting up a Python environment and installing necessary dependencies for Datafold API examples. This includes creating a virtual environment, activating it, and installing packages from requirements.txt. ```shell # Create and activate python virtual environment virtualenv .venv . .venv/bin/activate # Install dependencies pip install -r requirements.txt # If you are using a single-tenant install, set its base URL export DATAFOLD_HOST=https://app.datafold.com # Set env variable with Datafold key # You can get it here: https://app.datafold.com/users/me export DATAFOLD_API_KEY= ``` -------------------------------- ### Datafold Deployment Testing Getting Started Source: https://docs.datafold.com/faq/datafold-with-dbt Guides for getting started with Datafold's deployment testing features, including universal and dbt-specific approaches. ```APIDOC deployment-testing/getting-started: - Description: General guide to starting with deployment testing. Universal Deployment Testing: - fully-automated: - Description: How to set up fully automated deployment testing. - no-code: - Description: Using Datafold for deployment testing without writing code. - api: - Description: Integrating Datafold deployment testing via its API. ``` -------------------------------- ### CI/CD Testing - Getting Started (Universal) Source: https://docs.datafold.com/data-monitoring/monitors/metric-monitors API documentation for getting started with Datafold's CI/CD testing, focusing on universal, fully automated, and no-code approaches. ```APIDOC CI/CD Testing: Getting Started: Universal: Fully Automated: Method: GET Path: /deployment-testing/getting-started/universal/fully-automated Description: Guide for setting up fully automated CI/CD testing. Returns: - type: string description: Step-by-step instructions. No-Code: Method: GET Path: /deployment-testing/getting-started/universal/no-code Description: Guide for implementing CI/CD testing without writing code. Returns: - type: string description: Instructions for no-code setup. API: Method: GET Path: /deployment-testing/getting-started/universal/api Description: Guide for integrating CI/CD testing via API. Returns: - type: string description: API integration details. ``` -------------------------------- ### GitHub Actions: Setup Python and Install Dependencies Source: https://docs.datafold.com/data-monitoring/monitors/data-test-monitors This configuration sets up a Python environment using the 'actions/setup-python' action. It specifies the Python version and then runs commands to install dependencies, likely using pip. This is a common pattern for CI/CD pipelines involving Python projects. ```yaml jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.12 uses: actions/setup-python@v2 with: python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt ``` -------------------------------- ### Get Started with VS Code Extension Source: https://support.atlassian.com/bitbucket-cloud/docs/create-a-repository-access-token/ Instructions for installing and authenticating the Atlassian VS Code extension with Bitbucket Cloud and Jira. Essential for setting up the integrated development environment. ```APIDOC Atlassian for VS Code Extension - Getting Started: - Installation: Steps to install the extension from the VS Code marketplace. - Authentication: Guidance on connecting the extension to Bitbucket Cloud and/or Jira accounts. - Setup: Initial configuration for optimal workflow integration. ``` -------------------------------- ### Getting Started: Set up CI/CD Testing Source: https://docs.datafold.com/integrations/bi_data_apps Provides guidance on setting up CI/CD testing through universal No-Code or API integrations, and dbt integrations. ```javascript { title: "Set up CI/CD testing", stepNumber: "3", children: _jsxs(_components.p, { children: [ "Get started with deployment testing through our universal (", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/no-code", children: "No-Code" }), ", ", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/api", children: "API" }), ") or ", _jsx(_components.a, { href: "integrations/orchestrators/dbt-core", children: "dbt" }), " integrations." ] }) } ``` -------------------------------- ### Getting Started: Set up CI/CD Testing Source: https://docs.datafold.com/reference/cloud/rest-api Provides guidance on setting up CI/CD testing through universal No-Code or API integrations, and dbt integrations. ```javascript { title: "Set up CI/CD testing", stepNumber: "3", children: _jsxs(_components.p, { children: [ "Get started with deployment testing through our universal (", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/no-code", children: "No-Code" }), ", ", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/api", children: "API" }), ") or ", _jsx(_components.a, { href: "integrations/orchestrators/dbt-core", children: "dbt" }), " integrations." ] }) } ``` -------------------------------- ### Getting Started: Set up CI/CD Testing Source: https://docs.datafold.com/cd Provides guidance on setting up CI/CD testing through universal No-Code or API integrations, and dbt integrations. ```javascript { title: "Set up CI/CD testing", stepNumber: "3", children: _jsxs(_components.p, { children: [ "Get started with deployment testing through our universal (", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/no-code", children: "No-Code" }), ", ", _jsx(_components.a, { href: "deployment-testing/getting-started/universal/api", children: "API" }), ") or ", _jsx(_components.a, { href: "integrations/orchestrators/dbt-core", children: "dbt" }), " integrations." ] }) } ``` -------------------------------- ### CI/CD Testing - Getting Started (dbt) Source: https://docs.datafold.com/data-monitoring/monitors/metric-monitors API documentation for integrating Datafold's CI/CD testing with dbt Core and dbt Cloud. ```APIDOC CI/CD Testing: Getting Started: dbt: dbt-core: Method: GET Path: /integrations/orchestrators/dbt-core Description: Information on integrating Datafold with dbt Core for CI/CD testing. Returns: - type: string description: Integration guide for dbt Core. dbt-cloud: Method: GET Path: /integrations/orchestrators/dbt-cloud Description: Information on integrating Datafold with dbt Cloud for CI/CD testing. Returns: - type: string description: Integration guide for dbt Cloud. ``` -------------------------------- ### Datafold GitHub Integration Setup Source: https://docs.datafold.com/integrations/code-repositories/github This snippet outlines the initial setup process for integrating Datafold with GitHub. It details prerequisites like user roles and organization membership, and describes the steps for installing the GitHub app, including user redirection and repository selection. ```jsx Reference("Heading", true); if (!Note) _missingMdxReference("Note", true); if (!Tip) _missingMdxReference("Tip", true); if (!ZoomImage) _missingMdxReference("ZoomImage", true); return _jsxs(_Fragment, { children: [_jsxs(Note, { children: ["\n", _jsx(_components.p, { children: _jsx(_components.strong, { children: "PREREQUISITES" }) }), "\n", _jsxs(_components.ul, { children: ["\n", _jsx(_components.li, { children: "Datafold Admin role" }), "\n", _jsx(_components.li, { children: "Your GitHub account must be a member of the GitHub organization where the Datafold app is to be installed" }), "\n", _jsx(_components.li, { children: "Approval of your request to add the Datafold app to your repo must be granted by a GitHub repo admin or GitHub organization owner." }), "\n"] })] }), "\n", _jsxs(_components.p, { children: ["To set up a new integration, click the repository field and select the ", _jsx(_components.strong, { children: "Install GitHub app" }), " button."] }), "\n", _jsx(Frame, { children: _jsx(ZoomImage, { children: _jsx("img", { src: "https://mintlify.s3.us-west-1.amazonaws.com/datafold/images/github_install_button-27ecc75b58ccbe7681aa70223cc0e21b.png" }) }) }), "\n", _jsx(_components.p, { children: "From here, GitHub will redirect you to login to your account and choose which organization you would like to connect. After choosing the right organization, you may choose to allow access to all repositories or specific ones." }), "\n", _jsx(_components.p, { children: "Once complete, you will be redirected back to Datafold, where you can select the appropriate repository for connection." }), "\n", _jsxs(Tip, { children: ["\n", _jsx(_components.p, { children: _jsx(_components.strong, { children: "TIP" }) }), "\n", _jsx(_components.p, { children: "If you lack permission to add the Datafold app, request approval from a GitHub admin." }), "\n", _jsxs(_components.p, { children: ["After installation, click ", _jsx(_components.strong, { children: "Refresh" }), " to display the newly added repositories in the dropdown list."] }), "\n"] }), "\n", _jsxs(_components.p, { children: ["To complete the setup, click ", _jsx(_components.strong, { children: "Save" }), "!"] }), "\n", _jsx(Note, { children: _jsxs(_components.p, { children: ["\n", _jsx(_components.strong, { children: "INFO" }), "\n VPC deployments are an Enterprise feature. Please email ", _jsx(_components.a, { href: "mailto:sales@datafold.com", children: "sales@datafold.com" }), " to enable your account."] }) }), "\n"] }); ``` -------------------------------- ### Datafold Deployment Testing Source: https://docs.datafold.com/integrations/bi-data-apps/tracking-jobs Guides and configurations related to deployment testing within Datafold, including general setup and specific scenarios like slim diff. ```APIDOC Deployment Testing Configuration: Description: Details on setting up and performing deployment tests to ensure data quality and consistency. Key Areas: - General Configuration: Standard deployment testing setup. - Slim Diff: Specific guides for using slim diff in CI/CD pipelines. - How it Works: Explanation of the deployment testing process. Related: /deployment-testing/configuration, /guides/slim_diff, /guides/ci_guides/slim_diff, /deployment-testing/how-it-works ``` -------------------------------- ### Create an Example Workflow Source: https://docs.github.com/en/actions/writing-workflows/quickstart A basic example of a GitHub Actions workflow that checks out code, sets up Node.js, and runs a simple script. ```APIDOC Example GitHub Actions Workflow: - Name: My Example Workflow - On: [push, pull_request] - Jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Run a script run: echo "Hello from GitHub Actions!" ``` -------------------------------- ### Datafold Deployment Testing: Getting Started Source: https://docs.datafold.com/datafold-deployment/dedicated-cloud/aws Guides for getting started with deployment testing in Datafold, including specific instructions for dbt Cloud customers. ```APIDOC Deployment Testing Getting Started: Description: Initial steps and guides for setting up deployment testing, including specific workflows for dbt users. Related: /deployment-testing/getting-started, /deployment_testing/team_cloud/getting_started_for_customers, /deployment_testing/team_cloud/getting_started_for_customers/dbt ``` -------------------------------- ### Datafold Deployment Testing Source: https://docs.datafold.com/integrations/bi-data-apps/tracking-jobs Guides for setting up and using Datafold for deployment testing, including getting started and best practices. ```APIDOC Datafold Deployment Testing: - deployment-testing/how-it-works - Description: Explanation of how Datafold facilitates deployment testing. - Getting Started: - deployment-testing/getting-started - Description: Initial steps to begin with deployment testing. - Universal: - fully-automated - Description: Setting up fully automated deployment testing. - no-code - Description: Using Datafold for no-code deployment testing. - api - Description: Utilizing the Datafold API for deployment testing. - dbt: - integrations/orchestrators/dbt-core - Description: Integrating Datafold with dbt Core. - integrations/orchestrators/dbt-cloud - Description: Integrating Datafold with dbt Cloud. - deployment-testing/best-practices - Description: General best practices for deployment testing. - deployment-testing/best-practices/slim-diff - Description: Strategies for using slim diffs in testing. - deployment-testing/best-practices/handling-data-drift - Description: Methods for handling data drift during testing. ``` -------------------------------- ### Datafold Deployment Testing Setup Guide Source: https://docs.datafold.com/deployment-testing/getting-started This JavaScript/JSX code snippet defines the structure for a guide on setting up Datafold deployment testing. It outlines key steps such as setting up data connections, integrating with code repositories, adding Datafold to CI pipelines, and optionally connecting data apps. It relies on several React components like Heading, Icon, Step, Steps, and Tip. ```javascript function MDXContent(props = {}) { const {wrapper: MDXLayout} = { ..._provideComponents(), ...props.components }; return MDXLayout ? _jsx(MDXLayout, { ...props, children: _jsx(_createMdxContent, { ...props }) }) : _createMdxContent(props); } function _createMdxContent(props) { const _components = { a: "a", p: "p", strong: "strong", ..._provideComponents(), ...props.components }, {Heading, Icon, Step, Steps, Tip} = _components; if (!Heading) _missingMdxReference("Heading", true); if (!Icon) _missingMdxReference("Icon", true); if (!Step) _missingMdxReference("Step", true); if (!Steps) _missingMdxReference("Steps", true); if (!Tip) _missingMdxReference("Tip", true); return _jsxs(_Fragment, { children: [_jsxs(Tip, { children: [_jsx(_components.p, { children: _jsx(_components.strong, { children: "TEAM CLOUD" }) }), _jsxs(_components.p, { children: [_jsx(Icon, { icon: "wrench" }), " Interested in adding Datafold Team Cloud to your CI pipeline? ", _jsx(_components.a, { href: "https://calendly.com/d/zkz-63b-23q/see-a-demo?email=clay%20analytics%40datafold.com\u0026first_name=Clay\u0026last_name=Moeller\u0026a1=\u0026month=2024-07", children: "Let’s talk" }), "! ", _jsx(Icon, { icon: "phone-rotary" })] })] }), "\n", _jsx(Heading, { level: "2", id: "getting-started-with-deployment-testing", isAtRootLevel: "true", children: "Getting Started with Deployment Testing" }), "\n", _jsxs(Steps, { children: [_jsx(Step, { title: "Set up your data connection", children: _jsxs(_components.p, { children: ["To get started, first set up your ", _jsx(_components.a, { href: "https://docs.datafold.com/integrations/databases", children: "data connection" }), " to ensure that Datafold can access and monitor your data sources."] }) }), _jsx(Step, { title: "Integrate with code repositories", children: _jsxs(_components.p, { children: ["Next, integrate Datafold with your version control system by following the instructions for ", _jsx(_components.a, { href: "https://docs.datafold.com/integrations/code-repositories", children: "code repositories" }), ". This allows Datafold to track and test changes in your data pipelines."] }) }), _jsx(Step, { title: "Add Datafold to your CI pipeline", children: _jsxs(_components.p, { children: ["Add Datafold to your continuous integration (CI) pipeline to enable automated deployment testing. You can do this through our universal ", _jsx(_components.a, { href: "../deployment-testing/getting-started/universal/fully-automated", children: "Fully-Automated" }), ", ", _jsx(_components.a, { href: "../deployment-testing/getting-started/universal/no-code", children: "No-Code" }), ", ", _jsx(_components.a, { href: "../deployment-testing/getting-started/universal/api", children: "API" }), ", or ", _jsx(_components.a, { href: "../integrations/orchestrators", children: "dbt" }), " integrations."] }) }), _jsx(Step, { title: "Optional: Connect data apps", children: _jsxs(_components.p, { children: ["Optionally, you can ", _jsx(_components.a, { href: "https://docs.datafold.com/integrations/bi_data_apps", children: "connect data apps" }), " to extend your testing and monitoring to data applications like BI tools."] }) })] })] }); } function _missingMdxReference(id, component) { throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it."); } return { default: MDXContent }; ``` -------------------------------- ### Getting Started: Create a Data Diff Source: https://docs.datafold.com/reference/cloud/rest-api Guides users on creating their first data diff, involving integration of data connections and code repositories for in-database or cross-database diffing. ```javascript { title: "Create a data diff", stepNumber: "1", children: _jsxs(_components.p, { children: [ "Once you’ve integrated a ", _jsx(_components.a, { href: "/integrations", children: "data connection" }), " and ", _jsx(_components.a, { href: "/integrations/code-repositories", children: "code repository" }), ", you can run a new ", _jsx(_components.a, { href: "/data-diff/in-database-diffing/creating-a-new-data-diff", children: "in-database" }), " or ", _jsx(_components.a, { href: "/data-diff/cross-database-diffing/creating-a-new-data-diff", children: "cross-database" }), " data diff or explore your ", _jsx(_components.a, { href: "data-explorer/lineage", children: "data lineage" }), "." ] }) } ``` -------------------------------- ### Getting Started: Create a Data Diff Source: https://docs.datafold.com/integrations/bi_data_apps Guides users on creating their first data diff, involving integration of data connections and code repositories for in-database or cross-database diffing. ```javascript { title: "Create a data diff", stepNumber: "1", children: _jsxs(_components.p, { children: [ "Once you’ve integrated a ", _jsx(_components.a, { href: "/integrations", children: "data connection" }), " and ", _jsx(_components.a, { href: "/integrations/code-repositories", children: "code repository" }), ", you can run a new ", _jsx(_components.a, { href: "/data-diff/in-database-diffing/creating-a-new-data-diff", children: "in-database" }), " or ", _jsx(_components.a, { href: "/data-diff/cross-database-diffing/creating-a-new-data-diff", children: "cross-database" }), " data diff or explore your ", _jsx(_components.a, { href: "data-explorer/lineage", children: "data lineage" }), "." ] }) } ``` -------------------------------- ### Datafold API Setup and Configuration Source: https://github.com/datafold/datafold-api-examples This snippet outlines the necessary steps to prepare your environment for using the Datafold API. It includes creating and activating a Python virtual environment, installing dependencies, and setting essential environment variables for API access. ```shell # Create and activate python virtual environment virtualenv .venv . .venv/bin/activate # Install dependencies pip install -r requirements.txt # If you are using a single-tenant install, set its base URL export DATAFOLD_HOST=https://app.datafold.com # Set env variable with Datafold key # You can get it here: https://app.datafold.com/users/me export DATAFOLD_API_KEY= ``` -------------------------------- ### Getting Started: Create a Data Diff Source: https://docs.datafold.com/cd Guides users on creating their first data diff, involving integration of data connections and code repositories for in-database or cross-database diffing. ```javascript { title: "Create a data diff", stepNumber: "1", children: _jsxs(_components.p, { children: [ "Once you’ve integrated a ", _jsx(_components.a, { href: "/integrations", children: "data connection" }), " and ", _jsx(_components.a, { href: "/integrations/code-repositories", children: "code repository" }), ", you can run a new ", _jsx(_components.a, { href: "/data-diff/in-database-diffing/creating-a-new-data-diff", children: "in-database" }), " or ", _jsx(_components.a, { href: "/data-diff/cross-database-diffing/creating-a-new-data-diff", children: "cross-database" }), " data diff or explore your ", _jsx(_components.a, { href: "data-explorer/lineage", children: "data lineage" }), "." ] }) } ``` -------------------------------- ### Install Python Dependencies Source: https://docs.datafold.com/data-monitoring/monitors/data-test-monitors This snippet outlines the steps to set up a Python environment. It first ensures pip is up-to-date and then installs all project dependencies listed in the requirements.txt file. ```shell python -m pip install --upgrade pip pip install -r requirements.txt ``` -------------------------------- ### CI/CD Testing - Getting Started (Universal) Source: https://docs.datafold.com/data-diff/cross-database-diffing/results API documentation for getting started with Datafold's CI/CD testing, focusing on universal, fully automated, and no-code approaches. ```APIDOC CI/CD Testing: Getting Started: Universal: Fully Automated: Method: GET Path: /deployment-testing/getting-started/universal/fully-automated Description: Guide for setting up fully automated CI/CD testing. Returns: - type: string description: Step-by-step instructions. No-Code: Method: GET Path: /deployment-testing/getting-started/universal/no-code Description: Guide for implementing CI/CD testing without writing code. Returns: - type: string description: Instructions for no-code setup. API: Method: GET Path: /deployment-testing/getting-started/universal/api Description: Guide for integrating CI/CD testing via API. Returns: - type: string description: API integration details. ``` -------------------------------- ### Datafold GraphQL API Examples Source: https://github.com/datafold/datafold-api-examples This section showcases examples of how to interact with the Datafold GraphQL API. It serves as a guide for developers to understand and utilize the API for data operations. ```APIDOC GraphQL API Documentation: This documentation provides examples and guidance for interacting with the Datafold GraphQL API. Key Concepts: - Queries: Used to fetch data. - Mutations: Used to modify data. - Subscriptions: Used for real-time data updates. Example Query: Fetch project details. query GetProjectDetails($projectId: ID!) { project(id: $projectId) { id name description createdAt } } Example Mutation: Create a new data source. mutation CreateDataSource($input: CreateDataSourceInput!) { createDataSource(input: $input) { dataSource { id name type } errors { message } } } Input Type Example (CreateDataSourceInput): input CreateDataSourceInput { name: String! type: DataSourceType! connectionDetails: JSON } Enum Type Example (DataSourceType): enum DataSourceType { POSTGRES MYSQL BIGQUERY SNOWFLAKE REDSHIFT OTHER } Error Handling: API responses may include an 'errors' field detailing any issues encountered during the request. It is recommended to check this field for troubleshooting. ``` -------------------------------- ### Bitbucket Cloud OAuth Consumer Examples Source: https://support.atlassian.com/bitbucket-cloud/docs/create-a-repository-access-token/ Provides examples for setting up and using OAuth consumers with Bitbucket Cloud. This is crucial for secure third-party application integration. ```APIDOC OAuth Consumer Examples: - Demonstrates how to create and manage OAuth consumers for Bitbucket Cloud. - Covers authentication flows and token management for third-party applications. - Essential for integrating external services securely. ``` -------------------------------- ### Metric Monitor Setup - SQL Filter Example Source: https://docs.datafold.com/data-monitoring/monitors/metric-monitors Example SQL filter for refining datasets within a Metric Monitor, demonstrating a 7-day rolling time window. ```sql timestamp >= dateadd(day, -7, current_timestamp) ``` -------------------------------- ### dbt Build Command Example Source: https://www.datafold.com/blog/slim-ci-the-cost-effective-solution-for-successful-deployments-in-dbt-cloud Illustrates the dbt CLI command used to build the project, which is fundamental to generating manifest.json files and executing CI jobs. ```bash dbt build ``` -------------------------------- ### trigger:project Examples Source: https://docs.gitlab.com/ee/ci/yaml/index.html Shows how to use `trigger:project` to start a multi-project pipeline. It includes examples for triggering a pipeline on the default branch and on a specific branch. ```YAML trigger-multi-project-pipeline: trigger: project: my-group/my-project ``` ```YAML trigger-multi-project-pipeline: trigger: project: my-group/my-project branch: development ``` -------------------------------- ### Migrate from Travis CI to GitHub Actions Source: https://docs.github.com/en/actions/writing-workflows/quickstart A manual guide for migrating your CI/CD workflows from Travis CI to GitHub Actions. This tutorial covers the essential steps for transitioning your projects. ```APIDOC Migrating from Travis CI to GitHub Actions: - Understanding Travis CI's .travis.yml structure. - Mapping Travis CI build matrix, environment variables, and scripts to GitHub Actions. - Handling Travis CI before_install, install, and script stages. - Strategies for migrating deployment configurations. ``` -------------------------------- ### Bitbucket Pipelines Runners Setup Source: https://support.atlassian.com/bitbucket-cloud/docs/create-a-repository-access-token/ Guides on setting up and configuring self-hosted runners for Bitbucket Pipelines across various operating systems and environments. Covers Docker, shell, and macOS runners, along with proxy and logging configurations. ```APIDOC Bitbucket Pipelines Runners: Overview: Configure your operating system with Pipelines to use runners within your repositories. Child Topics: - Adding a new runner in Bitbucket - Configure your runner in bitbucket-pipelines.yml - Set up runners for Linux Docker - Set up runners for Linux Shell - Set up runners for Windows - Set up runners for MacOS - Configure a runner to use a proxy - Configure logging in self-hosted runners - IP addresses for runners behind corporate firewalls - Use your Docker images in self-hosted runners - Autoscaler for Runners on Kubernetes ``` -------------------------------- ### Datafold API Reference Introduction Source: https://docs.datafold.com/integrations/bi-data-apps/tracking-jobs Provides an overview and introduction to the Datafold REST API, detailing its capabilities and how to get started with API interactions. ```APIDOC API Reference Introduction: Description: Overview of the Datafold REST API, including authentication, endpoints, and basic usage. Related: /api-reference/introduction, /developer/datafold-api, /reference/cloud/rest_api, /reference/cloud/rest/datafold-rest-api ``` -------------------------------- ### dbt Cloud Integration Setup Example Source: https://docs.datafold.com/integrations/orchestrators/dbt-cloud Illustrates the JavaScript code structure for setting up a dbt Cloud integration, likely within a documentation or application context. This snippet shows how to render UI elements and link to external resources for custom branch settings. ```javascript function MDXContent(props = {}) { const {wrapper: MDXLayout} = { ..._provideComponents(), ...props.components }; return MDXLayout ? _jsx(MDXLayout, { ...props, children: _jsx(_createMdxContent, { ...props }) }) : _createMdxContent(props); } function _createMdxContent(props) { return _jsxs(_components.wrapper, { children: [ _jsx(_components.h1, { children: "dbt Cloud Integration" }), "\n", _jsx(_components.p, { children: "Datafold integrates with dbt Cloud to automatically diff your impacted tables whenever you push commits to a PR. This helps ensure data quality and consistency throughout your development workflow." }), "\n", _jsx(_components.p, { children: "You might need to configure custom branch settings if you have multiple environments built from different branches. See ", _jsx(_components.a, { href: "https://docs.getdbt.com/faqs/Environments/custom-branch-settings", children: "Custom branch" }), " in dbt Cloud docs." }), "\n", _jsx(_components.p, { children: "Click save, and that’s it! " }), _jsx(Icon, { icon: "party-horn" }), "\n", _jsx(_components.p, { children: "Now that you’ve set up a dbt Cloud integration, Datafold will diff your impacted tables whenever you push commits to a PR. A summary of the diff will appear in GitHub, and detailed results will appear in the Datafold app." }) ] }); } function _missingMdxReference(id, component) { throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it."); } ``` -------------------------------- ### Accelerating dbt core CI/CD with GitHub actions Source: https://www.datafold.com/blog/accelerating-dbt-core-ci-cd-with-github-actions-a-step-by-step-guide A step-by-step guide detailing how to accelerate dbt core Continuous Integration and Continuous Deployment (CI/CD) workflows using GitHub Actions. ```bash dbt Accelerating dbt core CI/CD with GitHub actions: A step-by-step guide ``` -------------------------------- ### Metric Monitor Creation and Setup Guide Source: https://docs.datafold.com/data-monitoring/monitors/metric-monitors Provides instructions on how to create and configure Metric Monitors in Datafold. It covers enabling the feature, the two methods for creating a monitor (new or clone), and the setup process involving data connections, metric types, and optional SQL filters. ```APIDOC Feature Enablement: - Contact support@datafold.com to enable this feature for your organization. Metric Monitor Capabilities: - Perform anomaly detection on standard metrics (e.g., row count, freshness, cardinality) and custom metrics (e.g., sales volume per region). - Supports ML-based anomaly detection or manual threshold settings. Creating a Metric Monitor: There are two primary methods: 1. **New Monitor**: Navigate to the 'Monitors' page, click 'Create new monitor', and select 'Metric'. 2. **Clone Monitor**: Click 'Actions' on an existing Metric monitor and select 'Clone' to pre-fill the configuration. Setting Up Your Monitor: 1. **Data Connection**: Select your data connection. 2. **Metric Type**: Choose between 'Table', 'Column', or 'Custom' metrics. 3. **SQL Filter (Optional)**: Refine your dataset using a SQL filter compatible with your data connection. Example for a 7-day rolling window: `timestamp >= dateadd(day, -7, current_timestamp)`. ``` -------------------------------- ### Setup Python Environment and Install Datafold SDK Source: https://context7_llms Steps to create a Python virtual environment, activate it, upgrade pip, and install the Datafold SDK for custom integrations. This is essential for leveraging Datafold's capabilities within your custom orchestration workflows. ```bash > python3 -m venv venv > source venv/bin/activate > pip install --upgrade pip setuptools wheel ``` ```bash > pip install datafold-sdk ``` -------------------------------- ### Datafold GraphQL API Usage Example Source: https://github.com/datafold/datafold-api-examples A basic command to demonstrate how to interact with the Datafold CLI or API. This example suggests running a command to list available functionalities. ```shell j ``` -------------------------------- ### Datafold Integrations: Orchestrators Source: https://docs.datafold.com/integrations/bi-data-apps/tracking-jobs Guides for integrating Datafold with various orchestration tools, including dbt Cloud, dbt Core, and custom integration setups. ```APIDOC Orchestrator Integrations: Description: Connect Datafold with your data pipeline orchestrators to manage and monitor workflows. Supported Orchestrators: - dbt Cloud: Integration for dbt Cloud users. - dbt Core: Integration for dbt Core users. - Custom Integrations: Set up custom orchestration workflows. Related: /integrations/orchestrators/dbt-cloud, /integrations/orchestrators/dbt-core, /integrations/orchestrators/custom-integrations ``` -------------------------------- ### Basic dbt CI Workflow Example Source: https://www.datafold.com/blog/taking-your-dbt-ci-pipeline-to-the-next-level This snippet represents a basic CI workflow for a dbt project, typically found in GitHub Actions. It outlines steps for setting up the environment, compiling, building, and testing dbt models, and running a SQL linter. The original article mentions this workflow has 43 lines of code. ```YAML # Example of a dbt CI workflow file (e.g., .github/workflows/dbt-pr-ci-job.yml) # This is a conceptual representation based on the article's description. # The actual 43 lines of code are not provided in the input text. name: dbt PR CI Job on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v3 with: python-version: '3.9' - name: Install dbt and dependencies run: | pip install dbt-core dbt-postgres pip install --upgrade dbt-core - name: Compile dbt models run: dbt compile - name: Build dbt models run: dbt build - name: Test dbt models run: dbt test - name: Run SQL linter run: | # Placeholder for SQL linter command echo "Running SQL linter..." ``` -------------------------------- ### Migrate from GitLab CI/CD to GitHub Actions Source: https://docs.github.com/en/actions/writing-workflows/quickstart A manual guide to migrating your CI/CD workflows from GitLab CI/CD to GitHub Actions. This tutorial helps in understanding the differences and mapping configurations. ```APIDOC Migrating from GitLab CI/CD to GitHub Actions: - Understanding GitLab CI/CD's .gitlab-ci.yml structure. - Mapping GitLab CI/CD keywords (e.g., stages, jobs, scripts) to GitHub Actions syntax. - Handling GitLab CI/CD variables and secrets. - Strategies for migrating CI/CD pipelines and runners. ``` -------------------------------- ### CI/CD Testing - Getting Started (dbt) Source: https://docs.datafold.com/data-diff/cross-database-diffing/results API documentation for integrating Datafold's CI/CD testing with dbt Core and dbt Cloud. ```APIDOC CI/CD Testing: Getting Started: dbt: dbt-core: Method: GET Path: /integrations/orchestrators/dbt-core Description: Information on integrating Datafold with dbt Core for CI/CD testing. Returns: - type: string description: Integration guide for dbt Core. dbt-cloud: Method: GET Path: /integrations/orchestrators/dbt-cloud Description: Information on integrating Datafold with dbt Cloud for CI/CD testing. Returns: - type: string description: Integration guide for dbt Cloud. ```