i18n/de/skills/setup-github-actions-ci/SKILL.md
GitHub Actions CI/CD fuer R-Pakete konfigurieren einschliesslich R CMD check auf mehreren Plattformen, Testabdeckungsberichten und pkgdown-Site- Bereitstellung. Verwendet r-lib/actions fuer Standardworkflows. Anwenden beim Einrichten von CI/CD fuer ein neues R-Paket, beim Hinzufuegen von Multiplattform-Tests zu einem bestehenden Paket, beim Konfigurieren der automatisierten pkgdown-Site-Bereitstellung oder beim Hinzufuegen von Codeabdeckungsberichten zu einem Repository.
npx skillsauth add pjt222/agent-almanac setup-github-actions-ciInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatisierten R CMD check, Testabdeckung und Dokumentationsbereitstellung ueber GitHub Actions konfigurieren.
.github/workflows/R-CMD-check.yaml erstellen:
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
name: R-CMD-check
permissions: read-all
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
build_args: 'c("--no-manual", "--compact-vignettes=gs+qpdf")'
Erwartet: Workflow-Datei .github/workflows/R-CMD-check.yaml erstellt mit einer Multiplattform-Matrix (macOS, Windows, Ubuntu) die Release, Devel und Oldrel abdeckt.
Bei Fehler: Wenn das Verzeichnis .github/workflows/ nicht existiert, mit mkdir -p .github/workflows erstellen. YAML-Syntax mit einem YAML-Linter verifizieren.
.github/workflows/test-coverage.yaml erstellen:
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
name: test-coverage
permissions: read-all
jobs:
test-coverage:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::covr, any::xml2
needs: coverage
- name: Test coverage
run: |
cov <- covr::package_coverage(
quiet = FALSE,
clean = FALSE,
install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
)
covr::to_cobertura(cov)
shell: Rscript {0}
- uses: codecov/codecov-action@v4
with:
fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }}
file: ./cobertura.xml
plugin: noop
token: ${{ secrets.CODECOV_TOKEN }}
Erwartet: Workflow-Datei .github/workflows/test-coverage.yaml erstellt. Abdeckungsberichte werden bei jedem Push und PR zu Codecov hochgeladen.
Bei Fehler: Wenn der Codecov-Upload fehlschlaegt, verifizieren dass das CODECOV_TOKEN-Secret in den Repository-Einstellungen gesetzt ist. Fuer oeffentliche Repos kann der Token optional sein.
.github/workflows/pkgdown.yaml erstellen:
on:
push:
branches: [main, master]
release:
types: [published]
workflow_dispatch:
name: pkgdown
permissions:
contents: write
pages: write
jobs:
pkgdown:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::pkgdown, local::.
needs: website
- name: Build site
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}
- name: Deploy to GitHub pages
if: github.event_name != 'pull_request'
uses: JamesIves/github-pages-deploy-action@v4
with:
clean: false
branch: gh-pages
folder: docs
Erwartet: Workflow-Datei .github/workflows/pkgdown.yaml erstellt. Die Site wird bei Push nach main oder Release gebaut und auf den gh-pages-Branch bereitgestellt.
Bei Fehler: Wenn die Bereitstellung fehlschlaegt, sicherstellen dass das Repository contents: write-Berechtigungen aktiviert hat. Verifizieren dass _pkgdown.yml development: mode: release gesetzt hat.
Zu README.md hinzufuegen:
[](https://github.com/USERNAME/REPO/actions/workflows/R-CMD-check.yaml)
Erwartet: README zeigt ein Live-CI-Statusabzeichen das nach jedem Workflow-Durchlauf automatisch aktualisiert wird.
Bei Fehler: Wenn das Abzeichen "no status" anzeigt, verifizieren dass der Workflow-Dateiname in der Abzeichen-URL mit der tatsaechlichen Datei uebereinstimmt. Einen Commit pushen um den ersten Workflow-Durchlauf auszuloesen.
gh-pages-Branch falls pkgdown verwendet wirdCODECOV_TOKEN-Secret hinzufuegen falls Abdeckungsberichte verwendet werdenGITHUB_TOKEN ausreichende Berechtigungen hatErwartet: GitHub Pages ist fuer pkgdown-Bereitstellung konfiguriert. Erforderliche Secrets sind gesetzt. Token-Berechtigungen reichen fuer die Workflows aus.
Bei Fehler: Wenn die Pages-Bereitstellung fehlschlaegt, unter Settings > Pages pruefen ob die Quelle auf den gh-pages-Branch gesetzt ist. Wenn Secrets fehlen, unter Settings > Secrets and variables > Actions hinzufuegen.
git add .github/
git commit -m "GitHub Actions CI Workflows hinzufuegen"
git push
Den Actions-Tab auf GitHub pruefen um zu verifizieren dass die Workflows erfolgreich laufen.
Erwartet: Gruene Haekchen bei allen Jobs im GitHub Actions-Tab. Workflows werden sowohl bei Push- als auch bei PR-Events ausgeloest.
Bei Fehler: Workflow-Logs im Actions-Tab pruefen. Haeufige Probleme: fehlende Systemabhaengigkeiten (zu extra-packages hinzufuegen), Vignetten-Build-Fehler (sicherstellen dass der Pandoc-Setup-Schritt vorhanden ist), YAML-Syntaxfehler.
permissions: GitHub Actions erfordert jetzt explizite Berechtigungen. Mindestens permissions: read-all hinzufuegenr-lib/actions/setup-r-dependencies verwenden, das die meisten Faelle behandeltr-lib/actions/setup-pandoc@v2 einbeziehen_pkgdown.yml development: mode: release fuer GitHub Pages gesetzt hatr-lib/actions/setup-r-dependencies handhabt Caching automatischcreate-r-package -- Anfaengliches Paket-Setup einschliesslich CI-Workflowbuild-pkgdown-site -- Detaillierte pkgdown-Konfigurationsubmit-to-cran -- CI-Checks sollten CRAN-Erwartungen widerspiegelnrelease-package-version -- Bereitstellung bei Release ausloesentesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.