<@U088WCP3B4P> Does Elementary have requirements o...
# ask-elementary-ai
s
@kapa.ai Does Elementary have requirements on GH Actions?
k
A message from kapa.ai
Yes, Elementary Data provides a GitHub Actions integration that allows you to run
edr
commands in an automated manner. Based on the knowledge sources, here are the requirements and considerations for using Elementary with GitHub Actions: ### Requirements 1. Profiles Configuration: You need to provide a
profiles.yml
file with an
elementary
profile, typically stored as a GitHub secret (e.g.,
ELEMENTARY_PROFILES_YML
) [GitHub Actions Documentation](https://docs.elementary-data.com/oss/deployment-and-configuration/github-actions). 2. Version Compatibility: You need to ensure compatibility between the Elementary dbt package version and the EDR CLI version. For example, if you're using
edr v0.16.2
, you should use Elementary's dbt package
v0.16.4
. 3. Warehouse Configuration: You need to specify the warehouse type (e.g., bigquery, snowflake, redshift) when setting up the action. 4. Authentication: For cloud services like AWS S3 or GCS, you need to provide the appropriate credentials. ### Common Issues and Solutions 1. Organization Restrictions: If you're using a private repository within an organization, you might encounter restrictions on using external actions. A workaround is to create a fork of the Elementary action within your organization's repositories. 2. Dependencies: The action needs to run
dbt deps
to install package dependencies before executing Elementary commands. 3. Environment Variables: If your profiles.yml uses environment variables, you need to ensure these are available in the GitHub Actions environment or replace them with actual values. ### Example Workflow Elementary provides a GitHub Action called
elementary-data/run-elementary-action
that simplifies running Elementary commands in GitHub Actions. The typical workflow includes: 1. Checking out your dbt project 2. Running Elementary commands (monitor, report, send-report) 3. Uploading artifacts (report.html, edr.log) For a complete implementation, you can refer to the [Elementary GitHub Action repository](https://github.com/elementary-data/run-elementary-action). Note that if you're also running dbt commands (run, test) as part of your workflow, you would typically run those before the Elementary commands.
s
@kapa.ai Is '.github/workflows/*' required to use elementary cloud? I found this file in our repo and want to know relevancy
k
A message from kapa.ai
No,
.github/workflows/*
files are not required to use Elementary Cloud. These files are specifically related to GitHub Actions workflows, which are optional for Elementary integration. Based on the knowledge sources, there are two main ways Elementary can interact with your code repository: 1. GitHub Actions (Optional): Elementary provides a GitHub Actions integration that allows you to run
edr
commands in an automated manner. This is what would be defined in
.github/workflows/*
files. As mentioned in the documentation, "Elementary has a GitHub Actions integration that allows you to run
edr
commands in an automated manner" [GitHub Actions Documentation](https://docs.elementary-data.com/oss/deployment-and-configuration/github-actions). 2. Code Repository Integration (For Configuration): Elementary Cloud can integrate with your code repository (GitHub, GitLab, Bitbucket, or Azure DevOps) to manage test configurations through code. This allows Elementary to "open pull requests to your dbt project" [Connect Code Repository](https://docs.elementary-data.com/cloud/integrations/code-repo/connect-code-repo). The workflow files you found might be related to automated Elementary reporting or monitoring, or they could be files created by Elementary Cloud when you connected your code repository for test configuration management. For example, one user mentioned: "I saw this PR from our repo. Looks like its something auto generated probably by elementary cloud" and the Elementary team confirmed it was related to exposures being updated automatically. If you want to understand the specific purpose of the workflow files in your repository, I'd recommend examining their content to see what Elementary functions they're performing. Would you like more information about how Elementary integrates with code repositories or GitHub Actions specifically?