Earlier quoted context omitted.
They share a lot of code. My understanding is that it was an MS project first, but I might have that backwards. > GitHub Workflows execute on runners. The runner code is essentially a fork of the Azure Pipelines code, so it's very similar. It's also cross-platform and you can also use hosted or self-hosted runners. https://learn.microsoft.com/en-us/dotnet/architecture/devops...
Thanks for the link -- I knew that GHA workflow runs ran on Azure, but I didn't know the workflow runner itself was a fork of Azure's runner/instrumentor. That's interesting context!
GitHub Actions could be so much better
51–60 of 238 posts
Re: GitHub Actions could be so much better
#52Earlier quoted context omitted.
I'm actually confused and scared on how often this isn't the case? What are people doing in their actions that isn't easily doable locally?
All the linting checks and end to end tests I don’t want to bother setting up locally for every repo I touch.
Re: GitHub Actions could be so much better
#53A linter can catch some obvious errors: https://github.com/rhysd/actionlint . But yes, I agree, it's not a fun debugging experience.
Re: GitHub Actions could be so much better
#54Earlier quoted context omitted.
I'm actually confused and scared on how often this isn't the case? What are people doing in their actions that isn't easily doable locally?
A huge portion of my actions are for things like caching or publishing artifacts, which are unique to actions itself.
Caching, I can mostly understand as unique there. Though, I think I'm living with whatever the default stuff in actions is. Slow for builds that don't happen often, of course, but not so slow that I care.
Re: GitHub Actions could be so much better
#55it's apparently a fixed problem in upstream openssl beta that isnt bundled yet, but i think a custom runner would be better too (but not an option at my org)
still, some days it gets in a rut and quickly fails for 10+ runs all billed at full rate. the entire eng group is severely annoyed by it because we cross test all oses on each commit so its becoming an expensive problem. basically 3x the billing on windows ci
Re: GitHub Actions could be so much better
#56For example, I wrote a set of workflows[1] to automatically apply a label after 2 'review approvals'.
First, a 'dummy' workflow triggering off PRs (in that context) that uploads an artifact: the PR number
Second, the 'real' workflow that runs in the context of the actual repository, set to be `on: workflow_run: workflows: - Final Review Labeler` - this pulls in the artifact, runs a GraphQL query, and applies the label if applicable.
[1]: https://github.com/goonstation/goonstation/blob/master/.gith...
Re: GitHub Actions could be so much better
#57Particularly for test builds, I very often just want to quickly view the output HTML report. The current approaches I am familiar with are the aforementioned upload-artifact, or using GH pages, but GH pages is not great when you have multiple different reporting output for the same repo, or you wanna quickly view historical reporting rather than latest.
I'd love a simple "attach-report" action that just put a link to an HTML report on the job summary, and clicking on it renders the html.
Other automated CI/CD style systems have much richer support out of the box for dealing with HTML report capturing and viewing.
Re: GitHub Actions could be so much better
#58Earlier quoted context omitted.
I'm actually confused and scared on how often this isn't the case? What are people doing in their actions that isn't easily doable locally?
It's the cloud. Runners are ephemeral (pretend, but still) with no persistent storage. This makes you either rebuild everything in every release stage (bad) or put artifacts in s3 or whatever (also bad) - this is especially painful for intermediate artifacts like dependency bundle caches etc. As much as I like make it just doesn't work with the typical cloud stateless by default configs. If it works for you, your pro…
There's https://github.com/actions/cache though?
Re: GitHub Actions could be so much better
#59So the CI pipeline would only call the build tool, like "./build containers push-to-registry release:1.0.0 run-tests"
Those scripts can be tested and debugged everywhere. Also migrating to a different CI platform would be really easy.
Re: GitHub Actions could be so much better
#60There are two types of github actions workflows you can build. 1) Program with github actions. Google "how can I send an email with github actions?" and then plug in some marketplace tool to do it. Your workflows grow to 500-1000 lines and start having all sorts of nonsense like conditionals and the YAML becomes disgusting and hard to understand. Github actions becomes a nightmare and you've invited vendor lock in. 2…
It's not just true for GHA, but for any build server really: The build server should be a script runner that adds history, artifact management, and permissions/auditing, but should delegate the actual build process to the repository it's building.