-
Notifications
You must be signed in to change notification settings - Fork 949
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
(In Progress) Composing Actions Within Actions Proof of Concept #612
Conversation
…or composite action
…andler for composite action" This reverts commit aeae15d.
…bute which is only found in the ActionStep not IStep
… ScriptHandler for composite action"" This reverts commit a22fcbc.
…ttps://github.com/actions/runner into compositeActionProofOfConcept
…t with workflow yaml
…thanchewy/compositeRestrictUnknownBehavior
…teActionProofOfConcept
TODO: Don't forget to hide with an environment flag or some sort of check like 1 != 0. |
What's the status of this? |
@hross since you were active in #646. Since Ethan left it seems like these are totally parked. Use case, deploy k8s manifests to EKS, with the manifests living with each services' code. Getting the credentials is a hot mess from AWS, which they've had the good grace to package up for us. I saw workflow templates, but they are only available for Enterprise and One. This type of thing is already available in travis, buildkite, circleci, etc. It's also disappeared from the roadmap. Is this all bundled up into github/roadmap#98? Will that be rolled out for non-enterprise at some point too? Actions is awesome, but this is stopping it from challenging the existing best-in-class. |
Thanks for reaching out @afirth. We would still like to do this and I agree it is a pain point with actions. I can't comment too much on the roadmap so I will reach out to one of our PMs in this space. At this time we don't have plans to work on this item in the near term (next month) but we would like to invest here as soon as we can get some higher priority items off of our plate. |
thanks for the update |
@hross It's been a couple months, and this has stalled our GH Actions migration from Jenkins. I'm considering going with some third party tooling to make this a better experience. nested using in composite actions will improve the DRY. I can have 10 projects that do the same thing with different inputs use external actions etc. Instead of having to duplicate all the Should I wait? (and for how long) or should I go with this third party?(#646 (comment)) or go back to Jenkins? GH Actions is so close to being awesome, but until a product owner understands that DevOps people (your primary customers) really hate duplication, GH Actions will continue to be stalled, and you will not grow your userbase with this feature. |
+1 are you pouring enough resources into actions? If we look at ADRs they move really slow, for instance this trivial change: actions/setup-java#98 took 8-9 months. I would guess composites takes more effort - and if that is linear will take over a year, it's already been considerable time. |
I agree @davidkarlsen. Azure DevOps has this now, CircleCI has this now, TravisCI has this. GitHub could have this in a quarter and could strip business from CloudBees, CircleCI, Travis and others, because they offer the whole package. Plus the community actions make GitHub sticky, that means more reoccurring revenue, more reason to pay for higher tiers of service. GitHub is a business like any other. As a DevOps Manager, I see our developers, and my team take what is prioritized in the backlog. This need likely is not prioritized. I have been reaching out to sales and product owners on LinkedIn in hopes that I can get some attention here. I don't work for the largest company, but if we have a few large companies, or many companies asking product for this feature, I imagine it would work its way to the top of the backlog in no time. If anyone from a Fortune 100 company reads this, work with your leadership team to partner with GitHub to get this prioritized. This can benefit your internal self-hosted GitHub Enterprise as well. -Shoosh |
Well put, @cpumanaz. Initially starting out with GitHub Actions is awesome, don't get me wrong, but as the project scales, GitHub Actions are having a hard time keeping up, as consolidation of workflows through actions are hindered by their lack of composability. |
Whats the new issue number for this feature ? Its a very important feature to keep configs DRY. |
Please get this on the roadmap. This is a sorely needed feature for anybody who doesn't want to copy-paste their workflows everywhere. |
I'm done with GH Actions. https://github.com/argoproj/argo-workflows Kubernetes native, inheritance, shared code, good community stuff. No proprietary stuff. 4 months of no action, or no communication isn't helpful. Modern look/feel compared to Jenkins. |
How can this be a prioritization issue, how can Github not have enough resources for a feature this important? I'm actually surprised Github Actions was released at all - without any solution for code reuse. I feel trapped in Github Actions now, having recently migrated to it, invested in it, and already considering if that was the right choice. Sorry for the drama, but it feels deserved in this case. It's a paid solution, not a 3-person open-source library 🙂 |
Is there any way the community can get involved into solving this? This feature will really take GitHub Actions to the next level. |
Most of this feature reached the (pre)release 2.280.1, but is behind the feature flag If you want to try this brand new feature locally, you could try my fork of this runner it has a console client for the runner. newcomposite-sample Repository
runs:
using: composite
steps:
- uses: actions/setup-node@v2
with:
node-version: '16'
- run: |
console.log(process.version);
console.log("Hi from node");
shell: node {0}
on: push
jobs:
comp:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
with:
path: testa
- uses: ./testa/.github/comp1 |
How does one activate the |
This comment has been minimized.
This comment has been minimized.
We will enable it for everyone once the feature is ready! Thank you for your patience. |
For anyone else that gets this far, |
This is live, as shown in the docs above |
Does anyone know if this feature is supported on self-hosted runners? Log output:
|
Additional content on top of @jackton1 comment.
|
In this PR, I show a proof of concept for calling actions within actions.
For calling another action, in this PR, it will only support with, uses, and env).
If need be, I'll create another ExecutionContext for Composite Actions in this PR as well.