Skip to content

Commit

Permalink
Add coana workflows (#399)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicknisi authored Feb 25, 2025
1 parent 001208f commit 2102019
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/coana-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Coana Vulnerability Analysis

on:
schedule:
# every day at 12 AM
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
tags:
description: 'Manually run vulnerability analysis'

jobs:
coana-vulnerability-analysis:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Coana CLI
id: coana-cli
run: |
npx @coana-tech/cli run . \
--api-key ${{ secrets.COANA_API_KEY }} \
--repo-url https://github.com/${{github.repository}}
60 changes: 60 additions & 0 deletions .github/workflows/coana-guardrail.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Coana Guardrail

on: pull_request

jobs:
guardrail:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
with:
separator: ' '

- name: Checkout the ${{github.base_ref}} branch
uses: actions/checkout@v4
with:
ref: ${{github.base_ref}} # checkout the base branch (usually master/main).

- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x

- name: Run Coana on the ${{github.base_ref}} branch
run: |
npx @coana-tech/cli run . \
--guardrail-mode \
--api-key ${{ secrets.COANA_API_KEY || 'api-key-unavailable' }} \
-o /tmp/main-branch \
--changed-files ${{ steps.changed-files.outputs.all_changed_files }} \
--lightweight-reachability \
# Reset file permissions changed by Coana CLI.
- name: Reset file permissions
run: sudo chown -R $USER:$USER .

- name: Checkout the current branch
uses: actions/checkout@v4
with:
clean: true

- name: Run Coana on the current branch
run: |
npx @coana-tech/cli run . \
--guardrail-mode \
--api-key ${{ secrets.COANA_API_KEY || 'api-key-unavailable' }} \
-o /tmp/current-branch \
--changed-files ${{ steps.changed-files.outputs.all_changed_files }} \
--lightweight-reachability \
- name: Run Report Comparison
run: |
npx @coana-tech/cli compare-reports \
--api-key ${{ secrets.COANA_API_KEY || 'api-key-unavailable' }} \
/tmp/main-branch/coana-report.json \
/tmp/current-branch/coana-report.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit 2102019

Please sign in to comment.