Skip to content

chore(deps): update github actions #622

chore(deps): update github actions

chore(deps): update github actions #622

Workflow file for this run

name: Skills
on:
merge_group:
branches:
- develop
- release/**
pull_request:
workflow_dispatch:
inputs:
severity:
description: "Severity level (CRITICAL, HIGH, MEDIUM, LOW)"
required: false
default: "LOW"
type: choice
options:
- CRITICAL
- HIGH
- MEDIUM
- LOW
permissions: {}
concurrency:
group: skills-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-paths:
name: Check if workflow should run
runs-on: ubuntu-latest
outputs:
run_workflow: ${{ steps.check_paths.outputs.run }}
permissions:
contents: read
steps:
- name: Harden the runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
disable-sudo: true
disable-telemetry: true
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Check paths
id: check_paths
uses: open-edge-platform/geti-ci/actions/check-paths@7e686c1248b3939f8ee8e04e2612da727e379d91
with:
files_yaml: |
test:
- skills/**
- .claude/skills/**
- .agents/skills/**
- .github/scripts/skills/**
- .github/workflows/skills.yaml
layout-check:
name: Validate skills layout
runs-on: ubuntu-latest
needs: check-paths
if: needs.check-paths.outputs.run_workflow == 'true'
permissions:
contents: read
steps:
- name: Harden the runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
disable-sudo: true
disable-telemetry: true
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Validate skills and adapter symlinks
run: python3 .github/scripts/skills/agent_skills.py validate
skillspector-scan:
name: SkillSpector scan
runs-on: ubuntu-latest
needs: check-paths
if: needs.check-paths.outputs.run_workflow == 'true'
permissions:
contents: read
steps:
- name: Harden the runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
disable-sudo: true
disable-telemetry: true
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
fetch-depth: 0
- name: Run SkillSpector scan
uses: open-edge-platform/geti-ci/actions/skill-scan@0745e2b1612e4c25c3e83eb37bddeba8743a2439 # skill-scan/v0.1.1
with:
severity-level: ${{ (github.event_name == 'pull_request' || github.event_name == 'merge_group') && 'HIGH' || github.event.inputs.severity || 'LOW' }}
fail-on-findings: ${{ (github.event_name == 'pull_request' || github.event_name == 'merge_group') && 'true' || 'false' }}
skills-path: skills
skill-validator-scan:
name: skill-validator scan
runs-on: ubuntu-latest
needs: check-paths
if: needs.check-paths.outputs.run_workflow == 'true'
permissions:
contents: read
steps:
- name: Harden the runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
disable-sudo: true
disable-telemetry: true
egress-policy: audit
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
fetch-depth: 0
- name: Run skill-validator
uses: open-edge-platform/geti-ci/actions/skill-validator@3fd1ebf48e46ec6584850e20616763e73ddf94e9 # skill-validator/v0.2.2
with:
skills-path: skills
strict: ${{ (github.event_name == 'pull_request' || github.event_name == 'merge_group') && 'true' || 'false' }}
fail-on-findings: ${{ (github.event_name == 'pull_request' || github.event_name == 'merge_group') && 'true' || 'false' }}
required-check:
name: Required Check skills
needs:
- check-paths
- layout-check
- skillspector-scan
- skill-validator-scan
runs-on: ubuntu-latest
env:
CHECKS: ${{ join(needs.*.result, ' ') }}
if: always() && !cancelled()
steps:
- name: Harden the runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
disable-sudo: true
disable-telemetry: true
egress-policy: audit
- name: Check jobs results
run: |
for check in ${CHECKS}; do
echo "::notice::check=${check}"
if [[ "$check" != "success" && "$check" != "skipped" ]]; then
echo "::error ::Required status checks failed. They must succeed before this pull request can be merged."
exit 1
fi
done