Skip to content

Conversation

@ro80t
Copy link

@ro80t ro80t commented Dec 19, 2025

ページプレビューが出るように.github/workflows/preview.ymlを追加しました

@yuito-it yuito-it added the enhancement ドキュメントの機能やデザインの追加・修正 label Dec 19, 2025
@ro80t
Copy link
Author

ro80t commented Jan 3, 2026

年始早々失礼します
設定変更なしでプレビューサイトが閲覧できるように改善しました
※gh-pagesブランチの事前作成は必要です。

改善点等あれば教えてください

@hinshiba
Copy link
Member

hinshiba commented Jan 4, 2026

年始早々お疲れ様です.
レビュワーが年末年始で多忙ですので少々お待ちください.
2025-01-06までには確認予定です.

@ro80t
Copy link
Author

ro80t commented Jan 4, 2026

年始早々速いご返信ありがとうございます

このprは急用ではありませんのでごゆっくり確認いただければ幸いです

Copy link
Member

@hinshiba hinshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PRありがとうございます.
いくつか疑問点がありますので返答いただけますと幸いです.
各レビューコメントで書いたこととは別に,PRに応じてPreviewが作成されると,
悪意のあるPRが作成された際にそのコンテンツのPreviewが公開される危険性があるように思えるのですがどうでしょうか?

@@ -0,0 +1,34 @@
name: Build

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mdbook-version: "latest"

- name: Build mdbook
run: mdbook build --dest-dir out
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shellプロパティは必須です.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@hinshiba hinshiba Jan 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run が設定されている場合は必須です。

と書いてあるように見えます

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

すみません...見落としてました。
(なくても動きはするのだが、一応規格上は必須になっているのか...)

${{ runner.os }}-cargo-
- name: Install mdbook-utils
if: steps.cargo-cache.outputs.cache-hit != 'true'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

同様にshellプロパティの不足

run: cargo install mdbook-utils

- name: Generate sitemap
run: mdbook-utils sitemap -o out/sitemap.xml -b https://rsdocsjp.org/ -y
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

同様にshellプロパティの不足

runs-on: ubuntu-latest

steps:
- name: Checkout
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

一貫性のためにpreview.ymlと同様にCheckout gh-pagesにしてほしいです.

Suggested change
- name: Checkout
- name: Checkout gh-pages

git config --global user.name "GitHub Actions"
git config --global user.email "action@github.com"
mkdir -p out/preview/${{ env.PAGE_DIR }}
mv tmp/out /out/preview/${{ env.PAGE_DIR }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これは絶対パスではまずいように思えます.

issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `Preview deployed to: https://${context.repo.owner}.github.io/preview/${process.env.PAGE_DIR}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

カスタムドメインがあるので

Suggested change
body: `Preview deployed to: https://${context.repo.owner}.github.io/preview/${process.env.PAGE_DIR}`
body: `Preview deployed to: https://rsdocsjp.org/preview/${process.env.PAGE_DIR}`

が正しいと思われます.

@ro80t
Copy link
Author

ro80t commented Jan 6, 2026

年末年始バタバタしながら作ったのもありまして一部のworkflowに不足があり申し訳ないです。至急修正します。

悪意のあるプルリクエストに関する話といたしましては、.github/workflowsに修正が入っているprに関しては実行において運営側の許可が必要になります。(このprもその都合で実行されていません) そのためコマンドを書き換えられて悪意のあるページを公開されることはありません。
そしてmdbookは静的サイト特化ですのでバックエンドに何か仕組まれる可能性はありません。
さらにプレビューサイトは/preview/pr-{number}のようなurlでメインページのsitemapには記載されていないため利用者が間違ってpreviewサイトを開いてしまう可能性はないと思われます。

@hinshiba
Copy link
Member

hinshiba commented Jan 6, 2026

プレビューサイトは/preview/pr-{number}のようなurlでメインページのsitemapには記載されていないため利用者が間違ってpreviewサイトを開いてしまう

こちらの話をしています.
sitemapに記載されていないからといってアクセスしてアーカイブする人がいないとは限らないので,
手動でのアクションによるpreviewでいいのではないかと思いますがどうでしょうか?

@yuito-it
Copy link
Contributor

yuito-it commented Jan 6, 2026

そもそもの話、Environment使えば誰かの承認がいるようにできるので、それで良いのでは?
(アーカイブする人のことを考え始めるとそもそもこの機能が成り立たなくなる気がするのですが)

@hinshiba
Copy link
Member

hinshiba commented Jan 6, 2026

@yuito-it

そもそもの話、Environment使えば誰かの承認がいるようにできるので、それで良いのでは?

承認するまで走らないようにすればいいのでは という話を今しているのですが......

(アーカイブする人のことを考え始めるとそもそもこの機能が成り立たなくなる気がするのですが)

mdをざっと見て問題ないかを確認したらpreview生成しようという話です.
それによって少なくとも悪意のある内容のpreviewは作成されないと思うのですがどうですか?

@ro80t
Copy link
Author

ro80t commented Jan 10, 2026

アーカイブ問題に関してはrobots.txtなどを明記し、それでも/preview/*をアーカイブする様でしたら直接問い合わせて削除してもらうのでいいと思うのですがそれではダメですか?

それとpreview作成においてこちらが一度見てから実行をかけるとなるとものによってはworkflowで作るのが相当面倒なのですが具体的にどのようなものを考えていますか?

@hinshiba
Copy link
Member

robots.txt

これは強制力がないので実質的には意味があまりないと考えています.

preview作成においてこちらが一度見てから実行をかけるとなるとものによってはworkflowで作るのが相当面倒

Environment Protection RulesでApproveするまで生成されないようにするという手を,
yuito-it sanが提案しています.
ただ,ApproveしてもPreviewを承認しただけで,mainへのマージの許可ではないため多少直観に反すこととなります.

まあ利便性とセキュリティ/コンプライアンスはトレードオフなので,
Environment Protection Rulesでいいのではないかと思っています.

previewは改行位置やスタイルの評価に便利ですが,
内容の正誤確認やtypoまではmdでできるので,
Approve直後にmainへのマージを行う事故があっても重大にはなりずらいと思いますし.

@KaiTomotake sanはどう考えていますか?

@KaiTomotake
Copy link
Member

このあたりは私の専門外ですので、技術的な是非までは判断できません。
具体的に意見できる立場ではないです。
申し訳ありません・・・

@hinshiba
Copy link
Member

@KaiTomotake san
質問が曖昧で申し訳ないです.

この機能はPRに対してpreviewを作成しますが,
悪意のあるPRやその他ミスのPRには,低い確率で不適切なコンテンツが含まれている可能性があり,
それがpreview機能によって公開されます.
sitemapやrobot.txtの設定で実際の人が表示する可能性が極めて低いですが,
どの程度リスクが許容できるか,どういう方針なのかという話です.

@KaiTomotake
Copy link
Member

previewはApproveされると公開されるという認識で正しいですか?

@hinshiba
Copy link
Member

hinshiba commented Jan 10, 2026

previewはApproveされると公開されるという認識で正しいですか?

いいえ.これは

preview作成においてこちらが一度見てから実行をかけるとなるとものによってはworkflowで作るのが相当面倒

なので,どちらの仕様にするかという話です.

その"一度見てから実行をかける" を実現する手法が

Environment使えば誰かの承認がいるようにできる

という案です.(当然面倒です)

@KaiTomotake
Copy link
Member

私個人の意見としましては、ある程度のリスクはしょうがないと考えています。
ですので、プレビュー案自体に関しては賛成です。

@hinshiba
Copy link
Member

プレビュー案自体

プレビュー案自体には私も賛成なのですが,
事前に確認してからpreviewした方がいいのではないかということです.

そういう意味で言っているのでしたら申し訳ないです.

@KaiTomotake
Copy link
Member

KaiTomotake commented Jan 10, 2026

事前に確認してからpreviewした方がいいのではないか

私もそう思います

@ro80t
Copy link
Author

ro80t commented Jan 15, 2026

返信遅くなり申し訳ありません。
プレビュー作成をこちらの確認の後にする場合コメントにコマンドを入力するような方式で実装するかworkflow_dispatchから実行する方式にするか二択ですがどうしますか?

また他サービスにデプロイする方式やcloudflareのルール設定によってrsdocsjp.orgからはアクセス不可にしrust-developers-jp.github.ioからのみプレビューを閲覧できるようにするという案もありますがどうしますか?

@hinshiba
Copy link
Member

返信遅くなり申し訳ありません。

いえいえ.こちらこそ貢献しようとして頂いてありがとうございます.

コマンドを入力するような方式で実装するかworkflow_dispatchから実行する方式にするか二択ですがどうしますか?

機能が満たせるならどちらでも構いませんが,workflow_dispatchのほうが直感的かなという気もします.
実装しやすいほうで大丈夫です.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ドキュメントの機能やデザインの追加・修正

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants