Trigger hardware registry imports on repository updates
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Start by locating the existing hardware registry import command in the Dashboard and the cron job that invokes it; then inspect how the kernelci-pipelines repository stores the registry YAML and configures GitHub Actions. The issue is done when updates to that file on main trigger a secure, retryable import, report failures, and prevent overlapping or stale imports from corrupting newer data.
索引モデルが issue の本文から書いたものです。
説明
Description
Currently, the Dashboard periodically imports the hardware registry from the kernelci-pipelines repository using a cron job. This process downloads the YAML file and updates the Dashboard database, even when the file hasn't changed.
We could replace this periodic polling mechanism with an event-driven approach using GitHub Actions.
Proposed solution
When changes to the hardware registry YAML file are merged into the main branch of kernelci-pipelines, a GitHub Actions workflow should trigger the import process on the Dashboard server.
The workflow should:
- Run only when the hardware registry YAML file is updated on
main. - Securely connect to the Dashboard server.
- Execute the existing import management command to update the database.
- Report whether the import succeeded or failed.
Benefits
- Faster updates: Hardware registry changes are reflected in the Dashboard shortly after being merged.
- Reduced unnecessary work: Imports only run when the registry changes.
Caveats
- Idempotency: The import command should be safe to execute multiple times for the same registry version, without creating duplicate or inconsistent data.
- Concurrency: Multiple updates may trigger overlapping imports. We should ensure that concurrent executions do not interfere with each other.
- Out-of-order execution: GitHub Actions workflows are not guaranteed to execute in the order they were triggered. An older import could finish after a newer one and overwrite the latest registry data. We should ensure that stale imports cannot overwrite newer data.
- Failure recovery: Failed imports should be easy to retry, ideally through a manually triggered workflow, without compromising data consistency.
Acceptance criteria
- A GitHub Actions workflow in
kernelci-pipelinestriggers when the hardware registry file changes onmain. - The workflow securely triggers the import command on the Dashboard server.
- Import failures are reported.
- The import process remains safe to retry in case of failures.
- The import command can still be invoked manually if necessary
- 主要言語
- Python
- スター
- 10
- フォーク
- 32
- 平均マージ
- 3日 36分
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
kernelci/dashboard のほかの issue
-
notifications
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
-
Show how to add a board missing from the hardware registry対応中かも @alanpeixinho が 3 日前に担当しました。 オープンFrontend q4-plan
難易度 2/5 半日 初心者へのやさしさ 65/100
kernelci/dashboard#2167 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
-
Backend bug Ingester URGENT
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
メンテナーはふだん 2 日以内に返信
-
Show the last hardware registry sync対応中かも @alanpeixinho が 8 日前に担当しました。 オープンBackend Frontend q4-plan
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
kernelci/dashboard#2170 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
kernelci/dashboard の issue をすべて見る
似ている issue
-
type-bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
push_gh-pages fails on master branch on forks対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンgood first issue infrastructure
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
documentation priority: high
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
a-lex-s/mealie-telegram-bot#54 ·
メンテナーはふだん 1 日以内に返信