-
Notifications
You must be signed in to change notification settings - Fork 13
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
Why an extra setup action? #9
Comments
Hm, I just found another use case for using an extra setup action, if the single steps could be redistributed between the setup and the test task. For my project, I use the turnstyle action to ensure some tests that access a global web service are not executed at the same time. So I run this action right before my turnstyle action: name: smalltalkCI
on: [push, pull_request]
jobs:
build:
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-version: Squeak64-Trunk
- name: Turnstyle (critical section)
uses: softprops/turnstyle@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run test suite
run: smalltalkci -s ${{ matrix.smalltalk }} However, this leads to unnecessarily long delay times after the first What do you think? Would this be far too complex? :-) Also, if we can use better caching as described in hpi-swa/smalltalkCI#471, the steps described here would become redundant. |
All good, you're asking good questions :)
What do you think the action should do? What smalltalkCI setup would be closer to a default solution?
Sorry, but I don't understand why you need caching. If you think you need it for keeping your trunk images up-to-date, I'd say this is not something smalltalkCI users should care about at this point. A smalltalkCI build only needs a VM and an image, and images are relatively large in size (compare to source code for example). Imagine we have 1000 projects, each caching a 50MB trunk image... that's a 50GB cache size in total. If smalltalkCI provides a recent trunk image, we don't need all of this.
I don't completely understand your use case for turnstyle. But if you really need it, it seems necessary that you sacrifices build time for synchronization.
This sounds like a feature request for smalltalkCI, probably something like a I hope I answered all your questions. If not, please let me know and feel free to file separate issues in the future. :) Best, |
There are two ideals to how smalltalkCI could be invoked from an Actions workflow:
This is true, but unfortunately, GH appears not to support a built-in way to limit concurrent jobs. See this thread for more details:
See hpi-swa/smalltalkCI#479. :-)
I admit I do not yet know what is happening behind the scenes on GitHub Actions to speed up builds, but I could imagine that they would provide docker images or any other kind of cacheable environment to reuse the dependencies for frequently used actions. However, this action (setup-smalltalkCI) appears to manually trigger However, the other point is the caching of images, which probably should be discussed here instead: hpi-swa/smalltalkCI#471
+1! |
Sorry for spamming. I wonder whether it is necessary to have an extra setup action, which does not seem to be the default solution. Asking for curiosity only: What's the reason you decided to build an extra setup action instead of a smalltalkCI action itself? Wouldn't the latter make it easier for GitHub to cache the action? :-)
The text was updated successfully, but these errors were encountered: