Github Actions workflow for building the toolchain and the SDK#227
Conversation
|
Actually, there seems to be a problem with file permissions. I will fix this later today. |
|
Testing on the fork has concluded, this workflow is now green and ready for review |
|
I think I'll add macOS CI in another PR after this one. Definitely feel free to squash all these commits, they turned out to be more than I anticipated. |
Good point, will do! |
|
It's included now, CI is testing here: https://github.com/shinyblink/Ndless/runs/945763481?check_suite_focus=true |
|
Should be ready for review now. Really this time. |
Vogtinator
left a comment
There was a problem hiding this comment.
Thanks!
I don't really like this kind of CI as it's entirely proprietary and mostly just vendor lock-in, so I never looked into it myself. This looks simple and maintainable enough though, that it' probably worth it.
Except for make -j4 no huge blocking issues.
(note that this PR does not activate CI yet, for security reasons)
I'm curious, what are those security reasons?
Runners have access to tokens that allow you to do various privileged things to the repository. |
|
Now building: https://github.com/shinyblink/Ndless/actions/runs/196238815 This includes another full toolchain rebuild, because the cache paths have changed (now also includes the toolchain install directory so we can use it directly). |
Note that this got improved 2 days ago :) https://github.blog/2020-08-03-github-actions-improvements-for-fork-and-pull-request-workflows/ |
I'm pretty sure CIs other than GitHub's NIH had that figured out from the start already... That blog post doesn't tell how it's looking for free public organizations and repos and on github.com, maybe that's still broken? |
|
Well I could take care of macOS maintenance, but first we have to take care of the other issue/pr so that it can be enabled here on CI :)
|
|
Any update? I've asked @alberthdev to check if he can help finish this, too, it would be great to have this CI :) |
|
Thanks for reminding me, @adriweb :) Should be good now - CI times without the toolchain upload are down to 60-90 seconds. I'd say that is acceptable :) When this is merged (and when I get around to it), I'm going to take a shot at macOS CI and put out another PR with that. |
macOS failure is expected at this time, see ndless-nspire#200 (comment)
more steps (including a separate toolchain build for macOS) are needed for this
use -j4 for make Co-authored-by: Fabian Vogt <fabian@ritter-vogt.de>
This reverts commit 8c01113.
|
rebased on top of r2016 (also master as of now), CI in progress here: https://github.com/shinyblink/Ndless/actions/runs/290422251 |
|
Was asked to take a look at this - changes as they stand today look pretty good! You're also protected from this issue, of which I'll need to update sooner rather than later as well for another project... Some comments addressing stuff mentioned above:
|
|
It's looking good now! But before I merge, I have one question about GitHub actions: If someone makes a PR to master with a changed |
|
What language is this in? C++? C?
…On Tue, Oct 6, 2020 at 11:45 AM Fabian Vogt ***@***.***> wrote:
It's looking good now! But before I merge, I have one question about
GitHub actions: If someone makes a PR to master with a changed
workflows/main.yml file, which one would the action run with which token
with what permissions for which repo?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#227 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ARFWX7QRNQFP5RYU3P5KNFLSJM3SRANCNFSM4PT4QXDQ>
.
|
|
I’d like to help, but I do not know how to program, and would like to learn
more about it. What do you suggest I do first? How did you learn?
On Tue, Oct 6, 2020 at 1:04 PM Dawson Kester <dawsonkester1@gmail.com>
wrote:
… What language is this in? C++? C?
On Tue, Oct 6, 2020 at 11:45 AM Fabian Vogt ***@***.***>
wrote:
> It's looking good now! But before I merge, I have one question about
> GitHub actions: If someone makes a PR to master with a changed
> workflows/main.yml file, which one would the action run with which token
> with what permissions for which repo?
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#227 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ARFWX7QRNQFP5RYU3P5KNFLSJM3SRANCNFSM4PT4QXDQ>
> .
>
|
|
@Vogtinator no secret tokens are available in PRs (although they will be available in the creator's fork). If you merge them, however, they will become available. |
My original motivation for this was to let you provide "nightly" builds of the SDK and toolchain, so our CI would not have to duplicate effort, but it seems that GitHub Actions does not let you easily download artifacts from other repositories (yet?).
Still, the effort was made, so here's a free CI workflow for your project! :)
On runtimes:
build-toolchain.shscript changes (because it contains the gcc, binutils, etc version numbers used to build the toolchain). Unfortunately, jobs can't access past run's artifacts, so that has to uploaded on every run, adding ~2 min of runtime :/ A possible (but less clean) solution would be to merge the two jobs into one.(note that this PR does not activate CI yet, for security reasons)