> ## Documentation Index
> Fetch the complete documentation index at: https://docs.helicone.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrating Helicone with GitHub Actions

> Automate the monitoring and caching of LLM calls in your CI pipelines with Helicone.

<Warning>
  <b>IMPORTANT NOTICE</b>

  Utilizing Man-In-The-Middle software like this involves significant security and performance risks. Please refer to [tools/mitm-proxy](/tools/mitm-proxy) for detailed information and ensure you fully comprehend the scripts before incorporating this into your CI pipeline.
</Warning>

# Github Actions with Ubuntu/Debian

Maximize the capabilities of Helicone by integrating it into your CI pipelines. This guide provides instructions on how to incorporate Helicone into your Github Actions workflows.

## Setup

Incorporate the following steps into your Github Actions workflow:

1. Add the proxy to your workflow:

```bash theme={null}
curl -s https://raw.githubusercontent.com/Helicone/helicone/main/mitmproxy.sh | bash -s start
```

2. Set your ENV variables:

```yml theme={null}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
HELICONE_CACHE_ENABLED: "true"
HELICONE_PROPERTY_<KEY>: <VALUE>
```

Variables can also be set within your test. For more information, refer to the [mitm docs](/tools/mitm-proxy).

## Example

```yml theme={null}
# ...Rest of yml
tests:
  steps:
    - name: Execute OpenAI tests
      run: |
        curl -s https://raw.githubusercontent.com/Helicone/helicone/main/mitmproxy.sh | bash -s start
        # Execute your tests here

      env:
        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
        REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
        HELICONE_CACHE_ENABLED: "true"
        HELICONE_PROPERTY_<KEY>: <VALUE>
```
