広告が嫌いですか? 行く 広告なし 今日

GitHub Actions YAML リーダー&フォーマッター

データ開発者文章

オプション

ガイド

GitHub Actions YAML Linter & Formatter

GitHub Actions YAML リーダー&フォーマッター

GitHub Actions ワークフローファイルを貼り付け、CI実行前に破損した構造、廃止された構文、およびリスクのあるパターンを即座に検出します。リーダーはトリガー、ジョブ、ステップ、ランナー、権限、再利用可能なワークフロー呼び出しに適用された組み込みスキーマでワークフローを検証し、YAMLをワークフロー認識型のキー順でフォーマットして、リポジトリ内のすべてのファイルが同じように見えるようにします。

使用方法

  1. あなたの .github/workflows/*.yml 入力ボックスにファイルを貼り付け、または例のリンクのいずれかをクリックしてCI、リリース、または廃止構文のワークフローを読み込みます。
  2. トグル キーの並び順 canonical GitHub Actions 順序(name、on、permissions、jobs、そして各ジョブの runs-on、needs、steps)を使ってフィールドを並び替えます。
  3. 保持 GitHub Actions スキーマに照らして検証 必須フィールドの欠落、未知のイベントタイプ、無効なランナーラベル、および破損 needs 参照を検出します。
  4. 保持 ベストプラクティスヒントを表示 を有効にすると、サプライチェーンおよび信頼性に関する提案(第三者アクションをSHAにピン留め、追加 timeout-minutes、廃止されたワークフローコマンドを置き換えます)
  5. フォーマットされたYAMLをコピーまたは、コミット用に.ymlファイルとしてダウンロードします。 .yml ファイルを準備します。

機能

  • スキーマ検証 – 必須のトップレベルフィールド(on, jobs)、許容されるトリガーイベント名、ジョブおよびステップキー、および正しい権限スコープ。
  • 再利用可能なワークフロー規則 – ジョブが uses は迅速なパスだが、属性の扱いが不一致であり、エッジケースでデータを失う可能性がある。SOAPレスポンスのプロダクション用途では、 runs-on または stepsを混在させている場合を検出します。GitHubは実行時にこれを拒否します。
  • 依存関係チェック – 自己参照やファイル内に存在しないジョブへの依存関係をフラグ付けします。
  • アクション参照パーサー – 欠落または uses: 形式ではない @ref 値をキャッチします。 owner/repo 形式にない
  • 廃止された構文検出::set-env, ::set-output, ::save-stateと、 node12/node16 ランタイムに現代の代替品が警告されます。
  • ベストプラクティスヒント – 第三者アクションをコミットSHAにピン留めし、追加 timeout-minutes をすることで、ジョブの無制限実行を防ぎます。
  • クロনの健全性チェック – クロントレースが正確に5つのフィールドを持っていることを検証します。 on.schedule ワークフロー認識型フォーマッター
  • – トップレベル、ジョブレベル、ステップレベルのキーを伝統的なGitHub Actions順に並び替え、一貫した差分を実現します。 – どのワークフロー内容もサーバーに送信されません。
  • ブラウザ内で完全に動作 なぜGitHub Actionsワークフローは構造的なエラーに特にかかりやすいのですか?

よくある質問

  1. ワークフローYAMLは、必須のトップレベルキー、固定イベント名、およびジョブごとに変化するキー規則を持つ厳格なスキーマに従っています。ファイルはトリガーがGitHubで発火したときにのみパースされるため、キー名の誤りや未知イベントは無音でリポジトリに残され、次のプッシュまたはPRが失敗するまで無視されます。スキーマベースのリーダーは、これらのようなエラーをランナーに到達する前に検出します。

    アクションをコミットSHAにピン留めることで、実際に何を防いでいるのですか?

  2. GitHub Actionsは、実行時に

    がタグに指すコミットに解決されます。タグは変更可能であり、メンテナー(またはメンテナーのアカウントを侵害された攻撃者)が uses: owner/action@v1 を移動させることができ、すべてのそのアクションに依存するワークフローは次の実行時に新しいコードを実行します。コミットSHAにピン留めることで、アクションのソースコードが特定のリビジョンに凍結され、将来のタグ変更が無意識に異なる動作を置き換えることを防ぎます。 v1 ::set-env、::set-output、および::save-stateはなぜ廃止されたのですか? v1 これらのワークフローコマンドは、stdoutに特別なフォーマットの行を出力することで環境変数、ステップ出力、保存された状態を書き込みました。ランナーに実行されたどのツールも同じフォーマットを出力し、任意の値を

  3. またはステップ出力に注入でき、次のステップが依存する

    またはシークレットを上書きする可能性があります。代替品は、サブプロセスが後に読み取ったり変更したりできない、専用の追加のみファイル( GITHUB_ENV )を使用します。 PATH なぜリーダーは各ジョブに対してタイムアウト分の値を尋ねているのですか?$GITHUB_ENV, $GITHUB_OUTPUT, $GITHUB_STATEタイムアウトがない場合、GitHubホストのジョブは最大360分(6時間)まで実行され、プラットフォームがそれをキャンセルします。停止したプロセス、誤設定された待機、または runawayテストがこの範囲を消費し、キューをブロッキングし、プランの分を消費します。各ジョブに明示的な上限を設定することで、最悪ケースを迅速な失敗に変換し、直ちに問題を表面化させます。

  4. ここに .github/workflows/*.yml のコンテンツを貼り付けます

    .yml としてダウンロード timeout-minutesGitHub Actions YAML リーダー&フォーマッター 1

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って