Skip to content

Update cockroachdb-skills submodule #1

Update cockroachdb-skills submodule

Update cockroachdb-skills submodule #1

Workflow file for this run

name: Update cockroachdb-skills submodule
on:
schedule:
- cron: '0 9 * * 1' # Weekly on Monday at 9am UTC
workflow_dispatch: # Allow manual trigger
permissions:
contents: write
pull-requests: write
jobs:
check-update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Check for upstream updates
id: check
run: |
cd submodules/cockroachdb-skills
CURRENT=$(git rev-parse HEAD)
git fetch origin main
LATEST=$(git rev-parse origin/main)
echo "current=$CURRENT" >> "$GITHUB_OUTPUT"
echo "latest=$LATEST" >> "$GITHUB_OUTPUT"
if [ "$CURRENT" != "$LATEST" ]; then
echo "behind=true" >> "$GITHUB_OUTPUT"
COMMITS=$(git log --oneline "$CURRENT..$LATEST" | wc -l | tr -d ' ')
echo "commits=$COMMITS" >> "$GITHUB_OUTPUT"
git log --oneline "$CURRENT..$LATEST" > /tmp/changelog.txt
echo "changelog<<EOF" >> "$GITHUB_OUTPUT"
cat /tmp/changelog.txt >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
else
echo "behind=false" >> "$GITHUB_OUTPUT"
fi
- name: Update submodule
if: steps.check.outputs.behind == 'true'
run: |
cd submodules/cockroachdb-skills
git checkout origin/main
- name: Sync skills from submodule
if: steps.check.outputs.behind == 'true'
run: |
# Build list of upstream skill names
upstream_skills=""
for skill_dir in submodules/cockroachdb-skills/skills/*/; do
for skill in "$skill_dir"*/; do
if [ -f "$skill/SKILL.md" ]; then
skill_name=$(basename "$skill")
upstream_skills="$upstream_skills $skill_name"
# Copy new or updated skills
if [ -d "skills/$skill_name" ]; then
rm -rf "skills/$skill_name"
cp -r "$skill" "skills/$skill_name"
echo "Updated: $skill_name"
else
cp -r "$skill" "skills/$skill_name"
echo "Added: $skill_name"
fi
fi
done
done
# Remove skills that no longer exist upstream
for existing in skills/*/; do
existing_name=$(basename "$existing")
if ! echo "$upstream_skills" | grep -qw "$existing_name"; then
rm -rf "skills/$existing_name"
echo "Removed (no longer upstream): $existing_name"
fi
done
echo "Total skills: $(ls -d skills/*/ 2>/dev/null | wc -l | tr -d ' ')"
- name: Create Pull Request
if: steps.check.outputs.behind == 'true'
uses: peter-evans/create-pull-request@v7
with:
commit-message: "chore: update cockroachdb-skills submodule"
title: "chore: update cockroachdb-skills submodule (${{ steps.check.outputs.commits }} new commits)"
body: |
Updates `cockroachdb-skills` submodule from `${{ steps.check.outputs.current }}` to `${{ steps.check.outputs.latest }}`.
### Upstream changes
```
${{ steps.check.outputs.changelog }}
```
This PR was auto-generated by the [update-skills](${{ github.server_url }}/${{ github.repository }}/actions/workflows/update-skills.yml) workflow.
branch: chore/update-cockroachdb-skills
delete-branch: true
labels: dependencies,automated