[解決済み] github-actionsのステップで、前のステップが失敗しても、ジョブを失敗させたまま実行する方法
質問内容
Githubにある例に従って、githubアクションで自分のビルドをテストし、テスト結果を圧縮してアーティファクトとしてアップロードしようとしています。 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts#uploading-build-and-test-artifacts
しかし、テストが失敗したときにどうすればいいか困っています。これは私のアクションです。私のテストが合格すると、すべてがうまくいき、私の結果は zip され、アーティファクトとしてエクスポートされますが、私のテストが失敗すると、ジョブの残りのステップが停止するため、私の結果は決して公開されません。
continue-on-error: true を追加してみました。
https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error
これは、それが失敗した後に続行し、私のテスト結果をアップロードします。しかし、私のテストステップが失敗したにもかかわらず、ジョブが合格とマークされています。ステップが失敗しても、ジョブ全体を失敗とマークしながら、私のアーティファクトをアップロードさせる何らかの方法があるでしょうか?
name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Test App
run: ./gradlew test
- name: Archive Rest Results
uses: actions/upload-artifact@v1
with:
name: test-results
path: app/build/reports/tests
どのように解決するのですか?
を追加することができます。
if: always()
をステップに追加すると、前のステップが失敗しても実行されるようになります。 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#job-status-check-functions
ということで、1つのステップの場合は以下のようになります。
steps:
- name: Build App
run: ./build.sh
- name: Archive Test Results
if: always()
uses: actions/upload-artifact@v1
with:
name: test-results
path: app/build
または、ジョブに追加することもできます。
jobs:
job1:
job2:
needs: job1
job3:
if: always()
needs: [job1, job2]
関連
-
[解決済み] github リポジトリのフォークを解除するには?
-
[解決済み] githubの学生アカウントのリポジトリは2年後にどうなりますか?
-
[解決済み] target="_blank" を使って github マークダウンでリンクを新しいタブで開く
-
[解決済み] GitHubで「Key is invalid」というメッセージが表示される。
-
[解決済み] index.html を変更した後、GitHub のページに変更が反映されるまでの時間は?
-
[解決済み] CocoaPodsとGitHubのフォーク
-
[解決済み] github上の課題を他のリポジトリに移動するには?
-
[解決済み] github.comのREADME.mdとの連携 [終了しました]
-
[解決済み] Githubアクションでジョブ間のワークスペース/アーティファクトを共有する?
-
[解決済み] GitHubで自分のプルリクエストはどこで見ることができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] github リポジトリのフォークを解除するには?
-
[解決済み] bower の ECMDERR を修正する方法
-
[解決済み] githubの学生アカウントのリポジトリは2年後にどうなりますか?
-
[解決済み] Travis のビルド状況を GitHub リポジトリに表示する
-
[解決済み] target="_blank" を使って github マークダウンでリンクを新しいタブで開く
-
[解決済み] GitHubのMD markdown readmeに空白を追加するには?
-
[解決済み] CocoaPodsとGitHubのフォーク
-
[解決済み] github.comのREADME.mdとの連携 [終了しました]
-
[解決済み] Android StudioのGithubへのチェックアウトエラー "CreateProcess=2" (Windows)
-
[解決済み] READMEからWikiページへのgithubリンク