open-metadata--openmetadata
bf2343b7e4
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
82 行
2.3 KiB
YAML
82 行
2.3 KiB
YAML
name: Lint Skills Standards
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'skills/**/*.md'
|
|
- 'skills/**/*.json'
|
|
- 'skills/**/*.yaml'
|
|
- 'skills/**/*.yml'
|
|
|
|
jobs:
|
|
lint-markdown:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Lint Markdown files
|
|
uses: DavidAnson/markdownlint-cli2-action@v19
|
|
with:
|
|
globs: 'skills/**/*.md'
|
|
config: 'skills/.markdownlint.yaml'
|
|
|
|
validate-json:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Validate JSON files
|
|
run: |
|
|
python3 -c "
|
|
import json, pathlib, sys
|
|
failed = False
|
|
for f in sorted(pathlib.Path('skills').rglob('*.json')):
|
|
try:
|
|
json.loads(f.read_text())
|
|
print(f'OK: {f}')
|
|
except Exception as e:
|
|
print(f'INVALID: {f}: {e}', file=sys.stderr)
|
|
failed = True
|
|
if failed:
|
|
sys.exit(1)
|
|
"
|
|
|
|
check-symlinks:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Verify standards symlinks
|
|
run: |
|
|
for skill_dir in skills/connector-building skills/connector-review skills/connector-standards skills/test-locally; do
|
|
if [ -L "$skill_dir/standards" ]; then
|
|
target=$(readlink "$skill_dir/standards")
|
|
if [ "$target" != "../standards" ]; then
|
|
echo "ERROR: $skill_dir/standards points to '$target', expected '../standards'"
|
|
exit 1
|
|
fi
|
|
echo "OK: $skill_dir/standards -> $target"
|
|
else
|
|
echo "ERROR: $skill_dir/standards is not a symlink"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
check-plugin-json:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Validate plugin.json
|
|
run: |
|
|
python3 -c "
|
|
import json, sys
|
|
data = json.load(open('skills/.claude-plugin/plugin.json'))
|
|
required = ['name', 'version', 'description', 'author']
|
|
missing = [k for k in required if k not in data]
|
|
if missing:
|
|
print(f'Missing fields in plugin.json: {missing}')
|
|
sys.exit(1)
|
|
print(f'plugin.json OK: {data[\"name\"]} v{data[\"version\"]}')
|
|
"
|