GitHub action to configure the Open Policy Agent CLI in your GitHub Actions workflow.
Open Policy Agent (OPA) is an open source, general-purpose policy engine.
This GitHub Action works great to run any tests you have included with your Rego files.
Here we see a simple template that checks out the repository code, installs the latest OPA, and then runs all of the Rego files in the tests
directory.
name: Run OPA Tests
on: [push]
jobs:
Run-OPA-Tests:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: latest
- name: Run OPA Tests
run: opa test tests/*.rego -v
When OPA is installed on the GitHub runner, you can select a the specific version of OPA you wish to run.
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: 0.44.0
Or, OPA can be locked to a SemVer range.
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: 0.44.x
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: 0.44
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: <0.44
You may also use the latest
or edge
version.
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: latest
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: edge
You can also choose to run your tests against multiple versions of OPA.
strategy:
matrix:
version: [latest, 0.44.x, 0.43.x]
steps:
- name: Setup OPA
uses: open-policy-agent/setup-opa@v2
with:
version: ${{ matrix.version }}
The action supports the following inputs:
version
: Optional, defaults tolatest
.latest
,edge
, and SemVer ranges are supported, so instead of a full version string, you can use0.44
. This enables you to automatically get the latest backward compatible changes in the v0.44 release.
This action does not set any direct outputs.
Thanks to the folks over at Infracost who created the initial version of this repository.
Contributions are welcome! See Contributor's Guide
👋 Be nice. See our code of conduct