Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflows: Jobs shouldn't depend on each other #70

Closed
JohannesWiesner opened this issue Oct 10, 2023 · 6 comments
Closed

Workflows: Jobs shouldn't depend on each other #70

JohannesWiesner opened this issue Oct 10, 2023 · 6 comments

Comments

@JohannesWiesner
Copy link
Owner

Currently we have the situation that the Ubuntu job runs through successfully but the Windows job crashes (because of matplotlib installation). Would be nice, if in this case the files from the sucessful worker would still be uploaded. The files of the crashed worker would then stay untouched (and therefore stay with last stable version).

JohannesWiesner added a commit that referenced this issue Oct 10, 2023
@JohannesWiesner
Copy link
Owner Author

JohannesWiesner commented Oct 10, 2023

With 6980985 I introduced continue-on-error but the problem is that even though the windows job "crashes" at the create-environment step the environment still exists (probably corrupted) and therefore also the files can be exported. This should not happen as these files will lead to a corrupted environment. Try:

https://stackoverflow.com/a/65113235/8792159

@JohannesWiesner
Copy link
Owner Author

Solved with 0701064. The only issue that we have now is that in the Workflows GUI failed steps look like they ran sucessfully (because of continue_on_error=true). So the GUI looks misleading in those cases. Would be nice if there would be another icon that shows that a step failed but the workflow continued.

There's already a discussion on that:

actions/runner#2347

The current way to see if each runner ran sucessfully is therefore to manually inspect the createEnvironment step post-hoc

@JohannesWiesner
Copy link
Owner Author

Reopening this issue, because I don't like the fact that it can look like a worker succeeded, when it actually didn't. Try another approach, by simply tweaking the second job (downloading artifacts and pushing them). The logic here should be:

"Run this job, if any previous ones (ubuntu-latest or windows-latest or both) succeeded"

See this link:

actions/runner#1251

JohannesWiesner added a commit that referenced this issue Oct 12, 2023
@JohannesWiesner
Copy link
Owner Author

Uploading works now, but the ubuntu-latest and windows-latest jobs are still dependent on each other. We have to make sure that they run in parallel (to save time & because we don't want to write the code twice) and independently (don't skip one worker just because the other failed). Maybe this helps:

https://github.com/orgs/community/discussions/27192#discussioncomment-3254966

@JohannesWiesner
Copy link
Owner Author

Solved with last commit a4eb9c3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant