Compare commits

..

3 Commits

Author SHA1 Message Date
Chris Farhood 4dfc5f9ed9 fix: correct markdownlint errors in existing skill files
CI / lint (pull_request) Successful in 8s
CI / lint CI passed (push event context)
- sdlc-diagram.md: remove extra trailing blank line (MD012)
- sdlc/SKILL.md lines 76,91: add language to fenced code blocks (MD040)
- uat/SKILL.md: verify trailing newline (MD047)

These pre-existing issues were surfaced by the expanded CI introduced
in the 'ci: move to .gitea/workflows and expand lint coverage' commit.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 11:27:11 +00:00
Countess von Containerheim 37fa23df15 feat: restore GitHub release creation in plugin-release workflow
Merging the content from PR #67 (gandalf/restore-github-release-workflow).
The PR branch had unrelated history with main, so applying the file change directly.
All reviews complete: QA (Regina #3399), UAT (Patty), CTO (Nancy #3421).
Ref: PRI-1703, PRI-1698, PRI-1688
2026-05-21 11:25:32 +00:00
Chris Farhood d62d5da70d ci: move to .gitea/workflows and expand lint coverage
CI / lint (push) Failing after 10s
Gitea picks up workflows from .gitea/. Adds yamllint, shellcheck,
and a skill-frontmatter validation step alongside the existing
markdownlint run, so PRs catch malformed YAML, shell scripts, and
missing skill metadata before merge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 07:14:11 -04:00
7 changed files with 54 additions and 22 deletions
+44
View File
@@ -0,0 +1,44 @@
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
-17
View File
@@ -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"
-1
View File
@@ -437,4 +437,3 @@ jobs:
echo "All checksums consistent — ArtifactHub will index correctly."
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+7
View File
@@ -0,0 +1,7 @@
extends: default
rules:
line-length: disable
document-start: disable
truthy:
check-keys: false
+2 -2
View File
@@ -73,7 +73,7 @@ Each promotion is a PR reviewed and merged by its gate owner:
### Pipeline A: Plugin/Feature Changes
```
```text
Engineer → PR to dev → self-merge → deploys to dev
→ Engineer validates on dev
→ 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)
```
```text
Engineer → PR to main → CI passes → QA reviews → QA merges
→ Production
```
-1
View File
@@ -132,4 +132,3 @@ flowchart LR
class UATB uat
class MAIN prod
```
+1 -1
View File
@@ -66,4 +66,4 @@ If `UAT_PLAYBOOK.md` does not exist for a plugin, treat that as a gap — report
- **Approve** the `uat→main` promotion when all applicable test steps from the playbook pass and no console errors are present
- **Request changes** when any test step fails — include specific failing steps, observed results vs. expected results, and failure screenshots
- **Block** if the plugin fails to load entirely — escalate to CTO as a deployment issue requiring immediate resolution
- **Block** if the plugin fails to load entirely — escalate to CTO as a deployment issue requiring immediate resolution