setup-github-actions-ci
Acerca de
Esta habilidad configura CI/CD con GitHub Actions para paquetes de R utilizando los flujos de trabajo de r-lib/actions. Configura verificaciones multiplataforma de R CMD check, informes de cobertura de pruebas y despliegue opcional de sitios pkgdown. Úsela al crear un nuevo CI/CD para paquetes de R o al agregar estas funcionalidades a repositorios existentes.
Instalación rápida
Claude Code
Recomendadonpx 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-ciCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
name: setup-github-actions-ci description: > RパッケージのGitHub Actions CI/CDを設定する。複数プラットフォームでのR CMD check、 テストカバレッジレポート、pkgdownサイトのデプロイを含む。標準ワークフローに r-lib/actionsを使用。新規RパッケージのCI/CD設定、既存パッケージへのマルチ プラットフォームテスト追加、pkgdownサイトの自動デプロイ設定、またはリポジトリへの コードカバレッジレポート追加時に使用する。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 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
RパッケージのGitHub Actions CI設定
GitHub Actionsを介した自動R CMD check、テストカバレッジ、ドキュメントデプロイを設定する。
使用タイミング
- GitHubのRパッケージにCI/CDを設定する時
- 既存パッケージにマルチプラットフォームテストを追加する時
- pkgdownサイトの自動デプロイを設定する時
- コードカバレッジレポートを追加する時
入力
- 必須: 有効なDESCRIPTIONとテストを持つRパッケージ
- 必須: GitHubリポジトリ(パブリックまたはプライベート)
- 任意: pkgdownデプロイを含めるかどうか(デフォルト:いいえ)
- 任意: カバレッジレポートを含めるかどうか(デフォルト:いいえ)
手順
ステップ1: R CMD Checkワークフローの作成
.github/workflows/R-CMD-check.yamlを作成する:
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")'
期待結果: ワークフローファイル.github/workflows/R-CMD-check.yamlが、release、devel、oldrelをカバーするマルチプラットフォームマトリクス(macOS、Windows、Ubuntu)で作成される。
失敗時: .github/workflows/ディレクトリが存在しない場合はmkdir -p .github/workflowsで作成する。YAML構文をYAMLリンターで確認する。
ステップ2: テストカバレッジワークフローの作成(任意)
.github/workflows/test-coverage.yamlを作成する:
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 }}
期待結果: ワークフローファイル.github/workflows/test-coverage.yamlが作成される。カバレッジレポートが各プッシュとPRでCodecovにアップロードされる。
失敗時: Codecovのアップロードが失敗する場合、リポジトリ設定でCODECOV_TOKENシークレットが設定されているか確認する。パブリックリポジトリの場合、トークンは任意の場合がある。
ステップ3: pkgdownデプロイワークフローの作成(任意)
.github/workflows/pkgdown.yamlを作成する:
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
期待結果: ワークフローファイル.github/workflows/pkgdown.yamlが作成される。mainへのプッシュまたはリリース時にサイトがビルドされてgh-pagesブランチにデプロイされる。
失敗時: デプロイが失敗する場合、リポジトリにcontents: write権限が有効になっているか確認する。_pkgdown.ymlにdevelopment: mode: releaseが設定されているか確認する。
ステップ4: READMEへのステータスバッジの追加
README.mdに追加する:
[](https://github.com/USERNAME/REPO/actions/workflows/R-CMD-check.yaml)
期待結果: READMEに各ワークフロー実行後に自動更新されるライブCIステータスバッジが表示される。
失敗時: バッジが「ステータスなし」を表示する場合、バッジURLのワークフローファイル名が実際のファイルと一致しているか確認する。最初のワークフロー実行をトリガーするためにコミットをプッシュする。
ステップ5: GitHubリポジトリ設定の構成
- pkgdownを使用する場合はGitHub Pagesを有効化する(設定 > Pages)で
gh-pagesブランチを指定 - カバレッジレポートを使用する場合は
CODECOV_TOKENシークレットを追加する GITHUB_TOKENに適切な権限があることを確認する
期待結果: pkgdownデプロイ用にGitHub Pagesが設定される。必要なシークレットが設定される。トークンの権限がワークフローに対して十分である。
失敗時: Pagesデプロイが失敗する場合、設定 > Pagesでソースがgh-pagesブランチに設定されているか確認する。シークレットが欠如している場合は設定 > シークレットと変数 > Actionsで追加する。
ステップ6: プッシュと確認
git add .github/
git commit -m "Add GitHub Actions CI workflows"
git push
GitHubのActionsタブでワークフローが正常に実行されることを確認する。
期待結果: GitHubのActionsタブですべてのジョブに緑のチェックマークが表示される。ワークフローがプッシュとPRイベントの両方でトリガーされる。
失敗時: Actionsタブのワークフローログを確認する。一般的な問題:システム依存関係の欠如(extra-packagesに追加)、ビネットのビルド失敗(pandocセットアップステップが存在するか確認)、YAMLの構文エラー。
バリデーション
- R CMD checkがすべてのマトリクスプラットフォームでパスする
- カバレッジレポートが生成される(設定した場合)
- pkgdownサイトがデプロイされる(設定した場合)
- READMEにステータスバッジが表示される
- ワークフローがプッシュとPRの両方でトリガーされる
よくある落とし穴
permissionsの欠如: GitHub Actionsは明示的な権限を要求するようになった。最低限permissions: read-allを追加する- システム依存関係: 一部のRパッケージはシステムライブラリを必要とする。ほとんどのケースを処理する
r-lib/actions/setup-r-dependenciesを使用する - pandocなしのビネット: 常に
r-lib/actions/setup-pandoc@v2を含める - pkgdownの開発モード: GitHub Pages用に
_pkgdown.ymlのdevelopment: mode: releaseを確認する - キャッシュの問題:
r-lib/actions/setup-r-dependenciesがキャッシュを自動的に処理する
関連スキル
create-r-package- CIワークフローを含む初期パッケージセットアップbuild-pkgdown-site- 詳細なpkgdown設定submit-to-cran- CIチェックはCRANの期待値を反映すべきrelease-package-version- リリース時にデプロイをトリガーする
Repositorio 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 Other category, tagged general.
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.
Habilidades relacionadas
LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.
Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.
Esta habilidad de Claude analiza los mercados de apuestas deportivas, incluyendo spreads, over/unders y apuestas de propuestas, mediante el examen de tendencias históricas y estadísticas situacionales para identificar apuestas de valor. Proporciona una salida en markdown estructurado con recomendaciones accionables con fines educativos. Los desarrolladores deben utilizar esto para herramientas de análisis de apuestas deportivas, teniendo en cuenta que está diseñado únicamente para entretenimiento/educación.
Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.
