-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
54 lines (49 loc) · 1.54 KB
/
action.yml
File metadata and controls
54 lines (49 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# SPDX-License-Identifier: PMPL-1.0-or-later
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# action.yml — Validate A2ML Manifests GitHub Action
# Scans repository for .a2ml files and validates structure, required fields,
# SPDX headers, and attestation blocks.
name: 'Validate A2ML Manifests'
description: >-
Scan and validate .a2ml manifest files in your repository.
Checks for required fields (agent-id/pedigree name, version),
SPDX headers, and attestation block structure.
author: 'Jonathan D.A. Jewell'
branding:
icon: 'shield'
color: 'blue'
inputs:
path:
description: >-
Directory path to scan for .a2ml files.
Defaults to the repository root.
required: false
default: '.'
strict:
description: >-
When true, warnings are promoted to errors and the action
will fail on any validation issue. Defaults to false.
required: false
default: 'false'
outputs:
files-scanned:
description: 'Number of .a2ml files scanned'
value: ${{ steps.validate.outputs.files_scanned }}
errors:
description: 'Number of validation errors found'
value: ${{ steps.validate.outputs.errors }}
warnings:
description: 'Number of validation warnings found'
value: ${{ steps.validate.outputs.warnings }}
runs:
using: 'composite'
steps:
- name: Validate A2ML manifests
id: validate
shell: bash
env:
INPUT_PATH: ${{ inputs.path }}
INPUT_STRICT: ${{ inputs.strict }}
run: |
"${GITHUB_ACTION_PATH}/validate-a2ml.sh"