# So, does GH actions just let me execute code for free on Microsoft's servers...?

**URL:** <https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003>\
**Category:** Offtopic\
**Created:** [June 19, 2022, 7:42am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003 "2022-06-19T07:42:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [June 19, 2022, 7:42am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/1 "2022-06-19T07:42:25Z")

</div>

When I push an update to my Julia package in GitHub, I have set it up to automatically run a bunch of workflows, such as CompatHelper.jl which checks for updates in my package dependencies, and a Documenter.jl script that builds the documentation and pushes it to GitHub pages. I suppose if I were more clever I could get it to automatically run my `test/` library too.

But my question is, all of these processes have to run on a computer somewhere, and that computer isn’t mine, so is Microsoft (which owns GH) just giving me computer power for free? What’s their interest in doing so—is it a loss leader to get me enmeshed in the GH ecosystem in the hopes that I later buy a premium account? Or is Microsoft using my code to do train some fancy ML algorithm?

And are there limits on what kinds of scripts I can run with Github actions? At first I reasoned that GitHub would only allow actions that are on a “whitelist,” but CompatHelper.jl is just a _program_ and it seems like, in principle, I could write (say) a GitHub action that mines a bunch of cryptocurrency and deposits it in my wallet … and have the code executed, at no cost to me, on Microsoft’s servers. How does Microsoft “vet” GH actions against malicious or profit-seeking code?

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [June 19, 2022, 7:53am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/2 "2022-06-19T07:53:09Z")

</div>

Maybe [Usage limits, billing, and administration - GitHub Docs](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration) is if interest to you

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 19, 2022, 8:01am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/3 "2022-06-19T08:01:21Z")

</div>

> [@maxkapur](#):
>
> But my question is, all of these processes have to run on a computer somewhere, and that computer isn’t mine, so is Microsoft (which owns GH) just giving me computer power for free?

Yes, but also hosting the git repository is a service they’re giving for free.

> [@maxkapur](#):
>
> What’s their interest in doing so—is it a loss leader to get me enmeshed in the GH ecosystem in the hopes that I later buy a premium account?

Not everyone ends up making paid for subscriptions, but yes, they make money that way. Especially organisations that want private repositories, without the hassle of maintaining an instance of a git server themselves.

> [@maxkapur](#):
>
> Or is Microsoft using my code to do train some fancy ML algorithm?

No need to use the code you run in github actions, they can already read the code hosted in repositories: [https://copilot.github.com/](https://copilot.github.com/)

> [@maxkapur](#):
>
> And are there limits on what kinds of scripts I can run with Github actions? At first I reasoned that GitHub would only allow actions that are on a “whitelist,” but CompatHelper.jl is just a _program_ and it seems like, in principle, I could write (say) a GitHub action that mines a bunch of cryptocurrency and deposits it in my wallet … and have the code executed, at no cost to me, on Microsoft’s servers. How does Microsoft “vet” GH actions against malicious or profit-seeking code?

> **[GitHub Actions update: Helping maintainers combat bad actors](https://github.blog/2021-04-22-github-actions-update-helping-maintainers-combat-bad-actors/)**
>
> The trustworthiness of our platform is crucial, and our team is committed to developer productivity and Actions performing the way we intended.

Looking at the `/etc/hosts` in the runners is also fun: they block dozens of cryptomining-related websites. They do take active actions to limit mining, and ban users caught doing so.

---

<div class="post-metadata">

**Author:** ![fortunewalla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fortunewalla/32/36960_2.png) [@fortunewalla](https://discourse.julialang.org/u/fortunewalla)\
**Post date:** [June 20, 2022, 2:02am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/4 "2022-06-20T02:02:28Z")

</div>

> [@giordano](#):
>
> No need to use the code you run in github actions, they can already read the code hosted in repositories: [https://copilot.github.com/](https://copilot.github.com/)

Would you happen to know how well does CoPilot work with Julia language?

---

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [June 20, 2022, 2:04am UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/5 "2022-06-20T02:04:51Z")

</div>

This might be worth creating a separate topic, because I only see one so far on this forum (by someone who claims it works well with Julia):

> [@\[sharing tools/experiences\] github copilot can be a nice addition](https://discourse.julialang.org/t/sharing-tools-experiences-github-copilot-can-be-a-nice-addition/79452):
>
> Just trying out the github copilot ([https://copilot.github.com/](https://copilot.github.com/)) for a couple of weeks, it supports julia and some of the suggestions I get from it are uncannily useful, almost brings a smile and it’s been a fun experience!

I haven’t tried it out myself.

---

<div class="post-metadata">

**Author:** ![DoktorMike](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/doktormike/32/2736_2.png) [@DoktorMike](https://discourse.julialang.org/u/DoktorMike)\
**Post date:** [June 20, 2022, 4:46pm UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/6 "2022-06-20T16:46:20Z")

</div>

I tried it out in my neovim and it works nicely for python and bash and so but i didn’t get it to do something useful for Julia. But might be my setup is wrong

---

<div class="post-metadata">

**Author:** ![dylanxyz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dylanxyz/32/36646_2.png) [@dylanxyz](https://discourse.julialang.org/u/dylanxyz)\
**Post date:** [June 22, 2022, 4:08pm UTC](https://discourse.julialang.org/t/so-does-gh-actions-just-let-me-execute-code-for-free-on-microsofts-servers/83003/7 "2022-06-22T16:08:57Z")

</div>

I used julia with copilot for sometime and it worked well most of the time, i was actually impress of how much copilot was smart to help me write code. One problem, however, is that sometimes copilot would think that i was writing python code or even javascript 😅, but orther than that it was great.
