raise-pr

Processus étape par étape pour valider les modifications en attente et ouvrir une pull request dans le dépôt lightspeed-service.

npx skills add https://github.com/openshift/lightspeed-service --skill raise-pr

Create a PR

Step 1: Branch

git fetch upstream
git branch --show-current
git log --oneline upstream/main..HEAD
git diff upstream/main --stat
gh pr list --head "$(git branch --show-current)" --state open

Present the summary and ask before proceeding:

"You are currently on branch <branch>. It has <N> commit(s) ahead of upstream/main touching: <files>. [If an open PR exists]: This branch already has an open PR: <url>. Pushing here would add commits to that existing PR. Should I create a new branch from upstream/main (recommended), or use the current branch?"

Do not continue until the user answers.

If creating a new branch — git carries uncommitted changes automatically:

git fetch upstream
git checkout -b <type>/<short-description> upstream/main
# cherry-pick intended commits from the old branch if needed
git cherry-pick <sha1> <sha2> ...

Never branch from origin/main — the fork may have stale commits that will appear in the PR.

Step 2: Pre-commit checks

Run in order and fix all failures before proceeding:

  1. make test-unit
  2. make test-integration
  3. make verify
  4. Confirm 90%+ coverage is maintained for changed code

Step 3: Commit and push

If a Jira issue ID has not been provided, ask the user for it before proceeding.

Commit message: short imperative sentence, no period, no conventional prefix, no Jira ID.

git add -A   # or only the relevant files
git commit -m "<message>"
git push -u origin HEAD

Step 4: Open the PR

Title format: <JIRA-ID>: <same short imperative sentence as commit>

Read .github/PULL_REQUEST_TEMPLATE.md and populate all sections:

  • Description — what the change does and why, derived from the diff
  • Type of change — tick the relevant checkbox(es)
  • Related Tickets & Documents — Closes #<github-issue> if it resolves one; always link the Jira ticket
  • Checklist — tick what applies; leave unticked items that genuinely don't apply
  • Testing — describe how the change was verified
gh pr create --title "<JIRA-ID>: <description>" --body "$(cat <<'EOF'
<populated template>
EOF
)"

Return the PR URL to the user when done.

Plus de skills de openshift

openshift-docs
openshift
Rechercher et lire la documentation d’OpenShift Container Platform au format markdown. À utiliser lorsque l’utilisateur pose des questions sur les fonctionnalités, la configuration, l’installation d’OpenShift, etc.
triage-leaked-infra
openshift
Évaluer si un VPC AWS ou un ensemble d'infrastructure provenant de l'IC HyperShift est sûr à supprimer. À utiliser lorsque l'utilisateur colle une sortie cleanleaked et demande « puis-je supprimer cela ? », « est-…
openshift-expert
openshift
Expert de la plateforme OpenShift et de Kubernetes avec une connaissance approfondie de l'architecture des clusters, des opérateurs, du réseau, du stockage, du dépannage et des pipelines CI/CD. Utilisez…
Konflux Archived PipelineRuns
openshift
Accède aux PipelineRuns, TaskRuns et logs de pods Konflux archivés via KubeArchive. S’applique automatiquement lors de la vérification des résultats de PipelineRun Konflux, de l’investigation…
backport
openshift
Backporter des commits ou des PR de la branche principale vers une branche de release. Utiliser lorsque l'utilisateur demande de backporter, cherry-picker ou porter des modifications entre branches, ou lors de la résolution de…
rebase
openshift
Rebaser la branche courante sur sa branche de base, résoudre tous les conflits, et vérifier que lint, i18n et build passent. Utiliser lorsque l'utilisateur demande de rebaser, mettre à jour ou synchroniser…
Build CPO Image
openshift
Construire et pousser l'image conteneur du control-plane-operator. S'applique automatiquement lors du test de modifications CPO nécessitant un déploiement sur un cluster en direct.
find-complexity
openshift
Trouve les fonctions et méthodes avec une complexité cyclomatique élevée, une longueur excessive ou trop de paramètres. À utiliser lorsque l'utilisateur demande de trouver du code complexe, de la complexité…