ci: update shiny and rmd integration tests to work with newer Connect images
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- リファクタリング
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- docker, r
- 領域
- ci-cd, devops, testing-qa
調査の方向性
まず #417 と R Markdown および Shiny の例の統合テストを読み、次にそれらにチェックインされている manifest.json ファイルと、そこで言及されているヘルパー deploy_example() を調べます。Connect のイメージバージョンが R バージョンにどのように対応するかを判断し、新しいイメージ上で対象のテストが現在のスキップなしで実行されるようにします。完了の条件は、統合テストと依存関係マニフェストがサポート対象のイメージマトリックスと互換性を持つことです。
索引モデルが issue の本文から書いたものです。
説明
Followup to #417. Integration tests that test setting env vars, rendering schedules, and variants use an rmarkdown example, and tests for setting run_as require an interactive app, so they use a shiny example app. These have manifest.json files checked in that enumerate packages and an R version, and these are set to an old version of R that is not included in the newer docker images for Connect. #417 skips those tests on newer versions of Connect.
To unskip them, we could
- Delete the manifest.json files and use
rsconnectto generate them at test runtime. We would associate each Connect image with an R version, and we would run the integration tests from that R version, so that the manifest that rsconnect generates at runtime would be compatible with what's in the images. Somewhat future proof, but would slow down these tests a little because we would have to resolve the package dependencies each run, and we would have the burden of maintaining the matrix of Connect version (docker tag) and R version to use. Unclear if there would be other trouble running the test suite with sufficiently old enough R to generate a manifest for older Connect. - Add alternate manifests that use newer versions of R that are found in the newer images, and switch off which manifest we used based on the Connect server version. A little annoying, and it is something we would have to do once a year or so whenever R versions roll off the docker images, but probably the least work.
- Keep a single manifest for these items, but upgrade them so that they that work on newer Connect and as many versions back that work, and skip these tests on versions older than that (i.e., flip how the skipping works now). Probably about the same work as the previous option but with less full coverage.
- Install the same version of R into all of the Connect images, and have one manifest that works with that version. Adds some overhead to spinning up the Connect images, but then keeps the complexity out of the R test suite.
#417 adds a deploy_example() helper function that could encapsulate some of the logic, depending on which direction was taken.
- 主要言語
- R
- スター
- 54
- フォーク
- 27
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
posit-dev/connectapi のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
posit-dev/connectapi#249 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
posit-dev/connectapi#527 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
posit-dev/connectapi#526 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
posit-dev/connectapi#506 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
posit-dev/connectapi#486 ·
posit-dev/connectapi の issue をすべて見る
似ている issue
-
Component: R
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
bug pixi-build-r
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
prefix-dev/pixi#7229 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rstudio/reticulate#1933 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100