Stop building and pushing container images outside a release
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- docker, github-actions
調査の方向性
First resolve what image tag or digest relay.tnsor.network should deploy; the issue identifies this as a prerequisite. Read .github/workflows/checks.yml, .github/workflows/release.yml, and containers/nostream-dev-webhook/README.md, plus the relay deploy runbook. Done when main pushes publish no image, releases remain the only publisher, and the relay and deploy documentation no longer depend on unreleased :main.
索引モデルが issue の本文から書いたものです。
説明
What happens
CI Checks (checks.yml) has a publish-container-image job that pushes ghcr.io/cameri/nostream on every push to main:
# .github/workflows/checks.yml:276
publish-container-image:
name: Build and push container image
if: >-
always() && github.event_name == 'push' && github.ref == 'refs/heads/main' &&
…
tags: |
type=raw,value=main
type=sha,prefix=sha-
Release (release.yml) pushes the same package on release: [published], which is the one time a published image should exist.
That was deliberate when it landed (#747, 14cca60, 2026-08-30): relay.tnsor.network deploys by pulling ghcr.io/cameri/nostream:main and recreating, so a merge needed a fresh image to deploy. The consequence is that the main tag is a moving pointer to unreleased main rather than a released artifact, and one docker pull ghcr.io/cameri/nostream can hand any consumer code that no release covers.
Requested change
Stop building and pushing outside a release. release.yml stays as the only publisher, and checks.yml builds without pushing (or stops building at all) if a PR-time image is worth keeping for smoke tests.
What has to move first
relay.tnsor.network pulls :main as its deploy mechanism — the server compose references POST /images/create?fromImage=ghcr.io/cameri/nostream&tag=main (containers/nostream-dev-webhook/.scratch/README.md) and the version-check row reads that digest. Removing the push without moving that consumer leaves the box unable to deploy; switching it needs a decision on what it tracks instead (latest release tag, a rolling edge tag built elsewhere, or a digest pinned per release).
Acceptance criteria
- A push to
mainthat publishes no release produces no new image inghcr.io/cameri/nostream. - Publishing a release still produces a tagged image, and
release.ymlis the only job withpackages: write. - Wherever
:mainis documented as a deploy target (containers/nostream-dev-webhook/README.md, the relay deploy runbook), the docs name the released tag instead. -
relay.tnsor.networkhas a deploy path that does not depend on an image built from unreleasedmain.
Evidence
- Run referenced in the request: actions/runs/39084587426, job
117548418140—CI Checks, push tomain, cancelled at 00:55:54Z while the publish job's prerequisites were still running. .github/workflows/checks.yml:276-334— the push,packages: write, and thetype=raw,value=maintag..github/workflows/release.yml:3-5—on: release: types: [published], the intended trigger.
- 主要言語
- TypeScript
- スター
- 829
- フォーク
- 234
- 平均マージ
- 18時間 43分
- マージ済み PR(30日)
- 67
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cameri/nostream のほかの issue
-
Website
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
-
documentation Website
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
メンテナーはふだん 1 日以内に返信
-
fix(website): update operator console film with fresh notifications screenshot対応中かも @Ferryx349 が今日担当しました。 オープンbug Website
cameri/nostream#893 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
cameri/nostream の issue をすべて見る
似ている issue
-
Unsampled pageload span is profiled when profileLifecycle is 'trace' (browser UI profiling)対応中かも @Jxxunnn が今日担当しました。 オープンBrowser Waiting for: Product Owner
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
getsentry/sentry-javascript#25497 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
e2e-failure ready-to-code
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
redhat-developer/rhdh-plugin-export-overlays#4438 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
resource: destroying a resource calls AbortController.abort() without a reason, creating an AbortError with a stack trace each time対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンarea: core
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
angular/angular#71422 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug status: needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
facebook/docusaurus#12739 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
難易度 1/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信