Repository navigation
Expand file tree
/
Copy pathaction.yml
More file actions
58 lines (53 loc) · 1.9 KB
/
Copy pathaction.yml
File metadata and controls
58 lines (53 loc) · 1.9 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
55
56
57
58
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# action.yml — Validate DEED Manifests GitHub Action
# Scans repository for .deed (and superseded .a2ml) files and validates
# structure, required fields, SPDX headers, and attestation blocks.
name: 'Validate DEED Manifests'
# NOTE: GitHub Marketplace rejects a description of 125 characters or more.
# The previous text was 216 and blocked publication. Keep any edit under 125 —
# `yaml.safe_load(...)['description']` is what GitHub measures, so a folded
# block scalar does not help: folding joins the lines into ONE long string.
# The fuller description lives in README.adoc, which has no length limit.
description: >-
Validate .deed (and legacy .a2ml) manifests against the DEED grammar:
identity, version, SPDX and attestation.
author: 'Jonathan D.A. Jewell'
branding:
icon: 'shield'
color: 'blue'
inputs:
path:
description: >-
Directory path to scan for .deed files (and superseded .a2ml).
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 DEED-family 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 DEED manifests
id: validate
shell: bash
env:
INPUT_PATH: ${{ inputs.path }}
INPUT_STRICT: ${{ inputs.strict }}
run: |
"${GITHUB_ACTION_PATH}/validate-a2ml.sh"