Examples
💡 Click on the heading to expand/collapse the item.
Steps
Process release assets
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
Customize release notes heading
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
if: ${{ github.event_name == 'release' }}
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
release_heading: "### Scan Results"
Only run on a release event
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
if: ${{ github.event_name == 'release' }}
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
Using file globs
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
file_globs: artifacts/*
Multiple file globs
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
file_globs: |
artifacts/*
assets/asset.zip
With all inputs
yaml
- name: "VirusTotal"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
file_globs: |
file1
release/*
rate_limit: 4
update_release: true
release_heading: "🛡️ **VirusTotal Results:**"
summary: true
Workflows
Simple workflow example
yaml
name: "VirusTotal Example"
on:
release:
types: [published]
jobs:
release:
name: "Release"
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: write
steps:
- name: "VirusTotal Action"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
Note: the permissions are applied to the individual job here.
Full workflow example
yaml
name: "VirusTotal Example"
on:
release:
types: [published]
permissions:
contents: write
jobs:
windows:
name: "Windows Build"
runs-on: windows-latest
timeout-minutes: 5
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Build"
uses: Minionguyjpro/[email protected]
with:
path: client.iss
options: "/DMyAppVersion=${{ github.ref_name }}"
- name: "Upload Release"
uses: cssnr/upload-release-action@v1
with:
files: out/*
virustotal:
name: "VirusTotal"
runs-on: ubuntu-latest
needs: [windows]
timeout-minutes: 5
if: ${{ github.event_name == 'release' }}
steps:
- name: "VirusTotal Action"
uses: cssnr/virustotal-action@v1
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
rate_limit: 4
update_release: true
Note: the permissions are applied to the entire workflow here.
For more examples, you can check out other projects using this action:
https://github.com/cssnr/virustotal-action/network/dependents