ワークフローの成果物について
成果物とは、ワークフロー実行中に生成されるファイル、またはファイルのコレクションです。 成果物を使えば、ジョブの完了後にデータを永続化でき、そのデータを同じワークフロー中の他のジョブと共有できます。 たとえば、ワークフローの実行が終了した後、成果物を使ってビルドとテストの出力を保存しておけます。
GitHub の 2 つのアクション (upload-artifact と download-artifact) を使って、ビルド成果物をアップロードおよびダウンロードできます。
一般的な成果物は次のとおりです。
- ログファイルとコアダンプ
- テスト結果、エラー、スクリーンショット
- バイナリあるいは圧縮されたファイル
- ストレステストのパフォーマンス出力およびコードカバレッジの結果
成果物の比較と依存関係のキャッシング
成果物とキャッシングは、GitHubにファイルを保存できるようにするので似ていますが、それぞれの機能のユースケースは異なっており、入れ替えて使うことはできません。
- パッケージ管理システムからのビルドの依存関係など、ジョブまたはワークフローの実行の間で頻繁に変更されないファイルを再利用する場合は、キャッシュを使用します。
- ビルドされたバイナリやビルド ログなど、ワークフローの実行が終了した後に表示するためにジョブによって生成されたファイルを保存する場合は、成果物を使用します。
依存関係のキャッシュについて詳しくは、「依存関係キャッシュのリファレンス」をご覧ください。
ビルドのアーティファクト構成証明の生成
構成証明を使用することで、ビルドするソフトウェアに対して検証不可能な証明と整合性の保証を作成できます。 さらに、ソフトウェアを使用するユーザーは、ソフトウェアがビルドされた場所と方法の確認ができます。
ソフトウェアで成果物の構成証明を生成する場合は、ビルドの実績を確立し、次の情報など暗号署名付き要求を作成します。
- 成果物に関連付けられているワークフローへのリンク
- 成果物のリポジトリ、organization、環境、コミット SHA、トリガー イベント
- 証明の確立に使用する OIDC トークンからのその他の情報。 詳しくは、「OpenID Connect」をご覧ください。
関連するソフトウェア部品表 (SBOM) を含む構成証明を生成することもできます。 ビルドを、その中で使用されるオープンソースの依存関係の一覧に関連付けることで、透明性は提供され、コンシューマーがデータ保護標準に準拠できるようになります。
ビルドの実行後、ビルドによって生成されたアーティファクトの一覧の下にある構成証明にアクセスできます。
詳しくは、「アーティファクトの構成証明を使用して構築の実績を確立する」をご覧ください。
削除されたワークフロー実行の成果物
ワークフロー実行が削除されると、その実行に関連付けられたすべての成果物もストレージから削除されます。 ワークフロー実行を削除するには、GitHub Actions UI、REST API、または GitHub CLI を使います。「ワークフロー実行の削除」、「ワークフロー実行を削除する」、または「gh run delete」を参照してください。