Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f5d570ea60 | |||
| 1b4913c0fd | |||
| 983498765e | |||
| f901d622d1 | |||
| ae024551bb | |||
| 1f18a1d982 | |||
| d62d5da70d |
@@ -0,0 +1,56 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install linters
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y --no-install-recommends shellcheck yamllint
|
||||||
|
|
||||||
|
- name: Lint Markdown
|
||||||
|
uses: DavidAnson/markdownlint-cli2-action@v19
|
||||||
|
with:
|
||||||
|
globs: "**/*.md"
|
||||||
|
|
||||||
|
- name: Lint YAML
|
||||||
|
run: yamllint .
|
||||||
|
|
||||||
|
- name: Shellcheck
|
||||||
|
run: shellcheck scripts/*.sh
|
||||||
|
|
||||||
|
- name: Validate skill frontmatter
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
fail=0
|
||||||
|
for f in skills/*/SKILL.md; do
|
||||||
|
fm=$(awk 'BEGIN{c=0} /^---$/{c++; next} c==1{print} c>=2{exit}' "$f")
|
||||||
|
for key in name description; do
|
||||||
|
if ! printf '%s\n' "$fm" | grep -qE "^${key}:[[:space:]]"; then
|
||||||
|
echo "::error file=${f}::missing '${key}' in YAML frontmatter"
|
||||||
|
fail=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
exit $fail
|
||||||
|
|
||||||
|
ci:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Validate JSON files
|
||||||
|
run: |
|
||||||
|
find . -name "*.json" -not -path "./.git/*" | while read -r f; do
|
||||||
|
python3 -m json.tool "$f" > /dev/null || { echo "::error file=$f::Invalid JSON"; exit 1; }
|
||||||
|
done
|
||||||
|
echo "All JSON files valid"
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
name: Promotion Gate
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
promotion_gate:
|
||||||
|
name: Promotion Gate
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Validate skills directory structure
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
fail=0
|
||||||
|
for dir in skills/*/; do
|
||||||
|
if [ ! -f "${dir}SKILL.md" ]; then
|
||||||
|
echo "::error::Missing SKILL.md in ${dir}"
|
||||||
|
fail=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit $fail
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Lint Markdown
|
|
||||||
uses: DavidAnson/markdownlint-cli2-action@v19
|
|
||||||
with:
|
|
||||||
globs: "**/*.md"
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
extends: default
|
||||||
|
|
||||||
|
rules:
|
||||||
|
line-length: disable
|
||||||
|
document-start: disable
|
||||||
|
truthy:
|
||||||
|
check-keys: false
|
||||||
@@ -73,7 +73,7 @@ Each promotion is a PR reviewed and merged by its gate owner:
|
|||||||
|
|
||||||
### Pipeline A: Plugin/Feature Changes
|
### Pipeline A: Plugin/Feature Changes
|
||||||
|
|
||||||
```
|
```text
|
||||||
Engineer → PR to dev → self-merge → deploys to dev
|
Engineer → PR to dev → self-merge → deploys to dev
|
||||||
→ Engineer validates on dev
|
→ Engineer validates on dev
|
||||||
→ PR from dev → uat → QA reviews → QA merges
|
→ PR from dev → uat → QA reviews → QA merges
|
||||||
@@ -88,7 +88,7 @@ Applies to changes in `headlamp-*-plugin/` repos (plugin code, features, bug fix
|
|||||||
|
|
||||||
### Pipeline B: Infrastructure Changes (No UI Impact)
|
### Pipeline B: Infrastructure Changes (No UI Impact)
|
||||||
|
|
||||||
```
|
```text
|
||||||
Engineer → PR to main → CI passes → QA reviews → QA merges
|
Engineer → PR to main → CI passes → QA reviews → QA merges
|
||||||
→ Production
|
→ Production
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -132,4 +132,3 @@ flowchart LR
|
|||||||
class UATB uat
|
class UATB uat
|
||||||
class MAIN prod
|
class MAIN prod
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user