[meta] refactor scripts to stop importing scriptworker, start importing scriptworker_client
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
調査の方向性
まず、scriptworker を import しているスクリプトを見つけ、コマンドラインのエントリポイントを scriptworker_client と比較します。Testing iscript wiki ページと、スタンドアロン実行のための create_test_workdir に関するガイダンスを読みます。完了の条件は、コマンドライン API を維持したまま、スクリプトが scriptworker のコンテキストオブジェクトに依存しなくなることです。
索引モデルが issue の本文から書いたものです。
説明
Part of the rationale of having scriptworker call a script from the commandline, rather than import a python module and call a function, was to make the script independent of scriptworker. In theory this would:
- let us upgrade scriptworker without affecting scripts, as long as that commandline api stayed consistent,
- allow us to test scripts standalone, rather than requiring the worker,
- allow for a mixture of languages and python versions
(3) is currently no longer an issue. We've standardized on python 3. However, we still have the option of supporting other languages, especially if some other team wants to start using scriptworkers.
(2) has been theoretical, and still has some issues with user friendliness and discoverability. The testing iscript wiki page shows it's possible to test a script without scriptworker, especially when using the create_test_workdir script from scriptworker to populate the work_dir with a known task's task.json and CoT upstreamArtifacts.
The main thing we're solving here is (1). Because many scripts import scriptworker, upgrading scriptworker may still break those scripts, even if the commandline api stays consistent. Let's import scriptworker_client instead.
Doing so isn't just a simple drop-in replacement, however. scriptworker_client removes the usage of context objects, so this may be a sizeable patch set per script. But once we do this, we'll once more be able to upgrade scriptworker without fear of breaking the script, and we will be able to make all script-related changes in this repo rather than across two repos. (And the vocal opponents to the context objects will be appeased. :)
- 主要言語
- Python
- スター
- 16
- フォーク
- 38
- 平均マージ
- 1日 7時間
- マージ済み PR(30日)
- 14
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mozilla-releng/scriptworker-scripts のほかの issue
-
Dependency Dashboard オープン
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
treescript
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
mozilla-releng/scriptworker-scripts#1055 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 32/100
mozilla-releng/scriptworker-scripts#994 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
mozilla-releng/scriptworker-scripts#980 · コメント 1 件 ·
mozilla-releng/scriptworker-scripts の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stephrobert/dsoxlab#238 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
sublimehq/package_control#1780 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
nwg-piotr/nwg-displays#145 ·