setup-github-actions-ci
О программе
Этот навык настраивает GitHub Actions CI/CD для R-пакетов, конфигурируя многоплатформенные проверки R CMD, отчеты о покрытии тестами и автоматизированное развертывание сайта pkgdown. Он использует r-lib/actions для стандартизированных рабочих процессов и идеально подходит при настройке CI для новых R-пакетов или добавлении этих функций к существующим. Разработчикам следует применять его для автоматизации тестирования на разных платформах и развертывания документации.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-github-actions-ciСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
name: setup-github-actions-ci locale: de source_locale: en source_commit: 6f65f316 translator: claude translation_date: "2026-03-17" description: > 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. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: r-packages complexity: intermediate language: R tags: r, github-actions, ci-cd, testing, automation
GitHub Actions CI fuer R-Pakete einrichten
Automatisierten R CMD check, Testabdeckung und Dokumentationsbereitstellung ueber GitHub Actions konfigurieren.
Wann verwenden
- Einrichten von CI/CD fuer ein neues R-Paket auf GitHub
- Hinzufuegen von Multiplattform-Tests zu einem bestehenden Paket
- Konfigurieren der automatisierten pkgdown-Site-Bereitstellung
- Hinzufuegen von Codeabdeckungsberichten
Eingaben
- Erforderlich: R-Paket mit gueltigem DESCRIPTION und Tests
- Erforderlich: GitHub-Repository (oeffentlich oder privat)
- Optional: Ob pkgdown-Bereitstellung einbezogen werden soll (Standard: nein)
- Optional: Ob Abdeckungsberichte einbezogen werden sollen (Standard: nein)
Vorgehensweise
Schritt 1: R CMD Check Workflow erstellen
.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.
Schritt 2: Testabdeckungs-Workflow erstellen (optional)
.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.
Schritt 3: pkgdown-Bereitstellungs-Workflow erstellen (optional)
.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.
Schritt 4: Statusabzeichen zur README hinzufuegen
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.
Schritt 5: GitHub-Repository-Einstellungen konfigurieren
- GitHub Pages aktivieren (Settings > Pages) mit Verweis auf den
gh-pages-Branch falls pkgdown verwendet wird CODECOV_TOKEN-Secret hinzufuegen falls Abdeckungsberichte verwendet werden- Sicherstellen dass
GITHUB_TOKENausreichende Berechtigungen hat
Erwartet: 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.
Schritt 6: Pushen und verifizieren
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.
Validierung
- R CMD check besteht auf allen Matrix-Plattformen
- Abdeckungsbericht wird generiert (falls konfiguriert)
- pkgdown-Site wird bereitgestellt (falls konfiguriert)
- Statusabzeichen wird in README angezeigt
- Workflows werden sowohl bei Push als auch bei PR ausgeloest
Haeufige Stolperfallen
- Fehlende
permissions: GitHub Actions erfordert jetzt explizite Berechtigungen. Mindestenspermissions: read-allhinzufuegen - Systemabhaengigkeiten: Einige R-Pakete brauchen Systembibliotheken.
r-lib/actions/setup-r-dependenciesverwenden, das die meisten Faelle behandelt - Vignetten ohne Pandoc: Immer
r-lib/actions/setup-pandoc@v2einbeziehen - pkgdown-Entwicklungsmodus: Sicherstellen dass
_pkgdown.ymldevelopment: mode: releasefuer GitHub Pages gesetzt hat - Caching-Probleme:
r-lib/actions/setup-r-dependencieshandhabt Caching automatisch
Verwandte Skills
create-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 ausloesen
GitHub репозиторий
Frequently asked questions
What is the setup-github-actions-ci skill?
setup-github-actions-ci is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform setup-github-actions-ci-related tasks without extra prompting.
How do I install setup-github-actions-ci?
Use the install commands on this page: add setup-github-actions-ci to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does setup-github-actions-ci belong to?
setup-github-actions-ci is in the Testing category, tagged testing and automation.
Is setup-github-actions-ci free to use?
Yes. setup-github-actions-ci is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Похожие навыки
Этот навык Claude запускает lm-evaluation-harness для тестирования LLM на более чем 60 стандартизированных академических задачах, таких как MMLU и GSM8K. Он предназначен для разработчиков, чтобы сравнивать качество моделей, отслеживать прогресс обучения или сообщать академические результаты. Инструмент поддерживает различные бэкенды, включая модели HuggingFace и vLLM.
Этот навык предоставляет обширные знания по реализации Cloudflare Cron Triggers для планирования запуска Workers с помощью cron-выражений. Он охватывает настройку периодических задач, заданий технического обслуживания и автоматизированных рабочих процессов, а также решение распространенных проблем, таких как неверные cron-выражения и ошибки часовых поясов. Разработчики могут использовать его для настройки планировщиков обработчиков, тестирования cron-триггеров и интеграции с Workflows и Green Compute.
Этот навык Claude предоставляет инструментарий на базе Playwright для тестирования локальных веб-приложений с помощью Python-скриптов. Он позволяет проводить проверку фронтенда, отладку интерфейса, создание скриншотов и просмотр логов, одновременно управляя жизненным циклом сервера. Используйте его для задач автоматизации браузера, но запускайте скрипты напрямую, вместо чтения их исходного кода, чтобы избежать загрязнения контекста.
Этот навык помогает разработчикам завершать готовую работу, проверяя прохождение тестов и предлагая структурированные варианты интеграции. Он направляет рабочий процесс по слиянию, созданию пул-реквестов или очистке веток после завершения реализации. Используйте его, когда ваш код готов и протестирован, чтобы систематически завершать процесс разработки.
