December 11, 2020
On Friday, 11 December 2020 at 13:18:52 UTC, kinke wrote:
> On Friday, 11 December 2020 at 10:34:34 UTC, Petar Kirov [ZombineDev] wrote:
>> GitHub Actions has the least mature UI (compared to every other CI service), but for most open-source D projects hosted on GitHub it is easily the best choice, thanks to https://github.com/dlang-community/setup-dlang which makes it trivial to add CI for Windows, Linux and macOS to your project. Probably the biggest disadvantage is that they don't offer the option to restart individual jobs, which is partial offset by offering noticeably faster machines than Travis CI did.
>
> I tend to agree. But if your CI scripts are complex, there's one big catch for the MS solutions (GitHub Actions / Azure Pipelines) - they don't use a regular YAML parser and don't support YAML anchors for reusable pieces. Azure Pipelines offers custom 'templates' instead (essentially, importing a file). That's not possible for GitHub Actions and the main reason it's not an option for LDC CI.

Wow, apparently I haven't used Azure Pipelines / GitHub Actions in sufficient depth, as we use YAML anchors in almost every GitLab CI pipeline at work :D

I guess this big disadvantage is offset GitHub Actions Marketplace, which makes reusable CI components much more scalable to use. Though it's still annoying as I wouldn't bother creating a separate repo for something that would otherwise be a YAML anchor, unless we use it more than a few projects.
December 11, 2020
On 2020-12-11 14:48, Petar Kirov [ZombineDev] wrote:

> Wow, apparently I haven't used Azure Pipelines / GitHub Actions in sufficient depth, as we use YAML anchors in almost every GitLab CI pipeline at work :D

Really? `extends` [1] is the preferred way reuse "code" in GitLab CI ;)

> I guess this big disadvantage is offset GitHub Actions Marketplace, which makes reusable CI components much more scalable to use. Though it's still annoying as I wouldn't bother creating a separate repo for something that would otherwise be a YAML anchor, unless we use it more than a few projects.


[1] https://docs.gitlab.com/ee/ci/yaml/#extends

-- 
/Jacob Carlborg
December 11, 2020
On 2020-12-10 12:42, Mathias LANG wrote:

> If you want a more advanced usage, DMD's workflow file contains a lot of comment which might help you with some patterns, for example how to add an extra row to a matrix (spoiler: you can't, you can only remove rows): https://github.com/dlang/dmd/blob/master/.github/workflows/runnable_cxx.yml

What do you mean with: can't add extra rows? That's what `include` is for, which is even being used in the above link [1].

[1] https://github.com/dlang/dmd/blob/37b93260e697a1a31b97d046f18cf32f78ef3b0d/.github/workflows/runnable_cxx.yml#L104

-- 
/Jacob Carlborg
December 11, 2020
On Friday, 11 December 2020 at 19:50:06 UTC, Jacob Carlborg wrote:
> On 2020-12-10 12:42, Mathias LANG wrote:
>
>> If you want a more advanced usage, DMD's workflow file contains a lot of comment which might help you with some patterns, for example how to add an extra row to a matrix (spoiler: you can't, you can only remove rows): https://github.com/dlang/dmd/blob/master/.github/workflows/runnable_cxx.yml
>
> What do you mean with: can't add extra rows? That's what `include` is for, which is even being used in the above link [1].
>
> [1] https://github.com/dlang/dmd/blob/37b93260e697a1a31b97d046f18cf32f78ef3b0d/.github/workflows/runnable_cxx.yml#L104

I just checked the documentation. It used to be that you could not add a new entry to a matrix, at least when this file was originally written. Looking again today, it seems to be possible, so I'm glad they fixed this!
December 11, 2020
On Friday, 11 December 2020 at 10:34:34 UTC, Petar Kirov [ZombineDev] wrote:
>
> GitHub Actions has the least mature UI (compared to every other CI service), but for most open-source D projects hosted on GitHub it is easily the best choice, thanks to https://github.com/dlang-community/setup-dlang which makes it trivial to add CI for Windows, Linux and macOS to your project. Probably the biggest disadvantage is that they don't offer the option to restart individual jobs, which is partial offset by offering noticeably faster machines than Travis CI did.
>
> [...]

Funnily, the UI just got a big update thanks to Github universe.
Another thing that irks me about Github is how unstable their environment is. From experience: https://github.com/actions/virtual-environments/issues/1498
If you look at their announcements (https://github.com/actions/virtual-environments/issues?q=is%3Aissue+is%3Aopen+label%3AAnnouncement) you'll see that they move fast. It might be a good thing for some use cases, but I definitely don't want to have to catchup to updates to my Docker images when there's work to be done.

Hopefully they'll see the light there too, at some point in the near future.
December 11, 2020
On Friday, 11 December 2020 at 19:43:43 UTC, Jacob Carlborg wrote:
> On 2020-12-11 14:48, Petar Kirov [ZombineDev] wrote:
>
>> Wow, apparently I haven't used Azure Pipelines / GitHub Actions in sufficient depth, as we use YAML anchors in almost every GitLab CI pipeline at work :D
>
> Really? `extends` [1] is the preferred way reuse "code" in GitLab CI ;)
> 
> [1] https://docs.gitlab.com/ee/ci/yaml/#extends

I remember reading the docs a while ago and not seeing a compelling reason for using this feature. I re-read the page again and I still don't think we're going to use it, as in all of our use cases the yaml snippet reuse is limited to a single file. `includes` are much more useful though ;)
1 2
Next ›   Last »