Use PR-oriented workflows & CI that pushes to Airfold
Airfold workspaces are fully defined in YAML files, which enables you to leverage version control and CI/CD similar to tools like dbt, Terraform, and other infrastructure as code systems.
Your files represent data pipelines as code with Airfold.
CI/CD (Continuous Integration and Continuous Deployment) automates the process of testing, validating, and deploying changes to your projects.
In a typical CI/CD workflow:
Implementing CI/CD for Airfold workspaces is highly recommended for production systems as it enables you to:
GitHub Actions is one way to integrate Airfold with CI/CD pipelines.
Let’s go through an example of setting up a deployment workflow for Airlang using GitHub Actions:
on
push
: Runs the workflow whenever changes are pushed to the main
branch
pull_request
: Executes the workflow when a pull request is opened or updated for the main branch
workflow_dispatch
: Allows the workflow to be triggered manually from the Actions tab in GitHub
permissions
Grants the workflow specific permissions:
id-token
: Required for OIDC authenticationcontents
: Allows the workflow to read/write repository contentspull-requests
: Enables the workflow to comment on pull requestsjobs
jobs
: Defines a single job named Plan / Apply
runs-on: ubuntu-latest
: Specifies the environment where the job will run
1. Checkout Repository
DEPLOY_TOKEN
2. Set Up Python 3.11
3. Setup Airfold CLI
4. Airfold diff
af diff
to compare the current and previous states of the Airfold configurationcontinue-on-error: true
: Prevents failures in this step from stopping the workflow5. Airfold plan
af push
to simulate changes6. Airfold Status
7. Airfold push and apply
Pushes changes to Airfold workspace when:
workflow_dispatch
GitHub Actions enable you to define workflows as code using YAML configuration files in your repository.
High-level overview of a GitHub Actions workflow:
Define a Workflow
Specify Triggers
Define Jobs
See more on the GitHub Actions Documentation.
Use PR-oriented workflows & CI that pushes to Airfold
Airfold workspaces are fully defined in YAML files, which enables you to leverage version control and CI/CD similar to tools like dbt, Terraform, and other infrastructure as code systems.
Your files represent data pipelines as code with Airfold.
CI/CD (Continuous Integration and Continuous Deployment) automates the process of testing, validating, and deploying changes to your projects.
In a typical CI/CD workflow:
Implementing CI/CD for Airfold workspaces is highly recommended for production systems as it enables you to:
GitHub Actions is one way to integrate Airfold with CI/CD pipelines.
Let’s go through an example of setting up a deployment workflow for Airlang using GitHub Actions:
on
push
: Runs the workflow whenever changes are pushed to the main
branch
pull_request
: Executes the workflow when a pull request is opened or updated for the main branch
workflow_dispatch
: Allows the workflow to be triggered manually from the Actions tab in GitHub
permissions
Grants the workflow specific permissions:
id-token
: Required for OIDC authenticationcontents
: Allows the workflow to read/write repository contentspull-requests
: Enables the workflow to comment on pull requestsjobs
jobs
: Defines a single job named Plan / Apply
runs-on: ubuntu-latest
: Specifies the environment where the job will run
1. Checkout Repository
DEPLOY_TOKEN
2. Set Up Python 3.11
3. Setup Airfold CLI
4. Airfold diff
af diff
to compare the current and previous states of the Airfold configurationcontinue-on-error: true
: Prevents failures in this step from stopping the workflow5. Airfold plan
af push
to simulate changes6. Airfold Status
7. Airfold push and apply
Pushes changes to Airfold workspace when:
workflow_dispatch
GitHub Actions enable you to define workflows as code using YAML configuration files in your repository.
High-level overview of a GitHub Actions workflow:
Define a Workflow
Specify Triggers
Define Jobs
See more on the GitHub Actions Documentation.