Replies: 6 comments
-
Can you expand more on this? Drone as far as I know treats each step in the pipeline in an isolated container, so not sure GitHub Actions has an added value there.
Is that a pro, a con, or just an alternative way to do the same thing? My 2cents is that,
I think consolidating our CIs into 1 that runs for both Linux and Windows sounds like a really good reason to be honest. So I'm for that. However, I don't think this is enough just yet given that GitHub Actions is still difficult to work with in my opinion. Here are my Pros and ConsDroneCI Pros
DroneCI Cons
GitHub Actions Pros:
Github Actions Cons:See the DroneCI pros above 😄 |
Beta Was this translation helpful? Give feedback.
-
(The GH discussions on https://github.com/gh-community/discussions-feedback/discussions has threading, I would love that here!)
@marwan-at-work I should be more specific, one-VM-per-job would allow us to isolate at the hypervisor level. we would not have to worry about port collisions, etc... This could also be a con too
Yea, this is an alternate way of doing things. Pro vs. con is definitely up to opinion. For me, I like it because you can build and run any arbitrary image. For example, it would solve #1481 for us. You can also run services if we want, which is more similar to what drone does.
Any specific things I can point to that are difficult to work with? I can go tell the actions team. I'll comment on some of the drone pros/cons:
Yup, I'm with you here
GH actions give you a single yaml file also. And in each yaml file you can have 1 or more jobs. You can decide to expand to multiple yaml files if you want, though. In GH actions, the default is running directly on a VM, but it's a one-liner to run inside a container. In that case, you're right on that you do have to mount the docker sock & volumes etc...
I don't have platform uptime or API stability numbers for GitHub, but yes, I bet it's not great since the very first beta of actions. However, actions is becoming widely used. For example, the node js project is using actions for a few things. It would be really hard for GH to change the API now, and very damaging to the product if there was significant downtime.
Good point and definitely true for containers. GH actions is certainly more oriented to a single VM per job, so a container per build step isn't "first class" as much. The
Definitely true, another good point. This opens up for more customizability, but also for more upfront setup cost.
This is possible with actions too with the I hope everything here was constructive! Obviously I'm pro-actions, mostly because everything is in one place, not even for a data-driven or feature-driven reason. If you want to stick with drone, would you be up for running actions and drone side-by-side for now? |
Beta Was this translation helpful? Give feedback.
-
Doing this for #1481 would be a security leak because someone will be able to print out the storage credentials. So I'd keep that as is. That said, building the current PR image would be great for when someone updates our Dockerfiles and pushes PR for it. It'd be good to look into if Drone can do that. Otherwise, that's a good plus for GitHub Actions.
Probably not because then we'd have like 5 CIs (appveyor, azure pipelines, CircleCI, DroneCI, and Github actions) lmao...contributors will be very confused and intimidated to make any CI changes. I think this is a good discussion: so far I see 3 really good benefits of GitHub Actions:
However, I still see a big overhead of complexity with GitHub Actions (such as setting up Go, setting up service containers, trying to figure out whether you're in a container or in a VM, voluming etc.) I think what we can do one of two hacking sessions:
What do peeps think? I'd be down to pair programming over the weekend or a week night if anyone's interested. |
Beta Was this translation helpful? Give feedback.
-
I'm totally up for pair programming! We could continue on #1463 or from scratch. Up to you @marwan-at-work |
Beta Was this translation helpful? Give feedback.
-
This thread is now five months old, but I want to weigh in as an athens noob who struggled with getting CI working on my first PR. Seeing checks on my PR from drone, circleci, and appveyor is intimidating. Making my tests pass required making essentially the same change in multiple places and reading docs for the ones I'm not familiar with. GitHub Actions deserves an entry in the pro column that it could reduce the number of build systems and make onboarding new developers easier. Actions has also improved since this discussion was started. The uptime is getting closer to that of GitHub's front end, and features like manually starting and rerunning actions have made it less fiddly than it used to be. Looking through |
Beta Was this translation helpful? Give feedback.
-
With the recent changes and switch to GitHub actions (https://github.com/gomods/athens/tree/main/.github), are there any open concerns in this discussion? Since the last reply is almost 3 years old, I'd close this discussion and open up a new one for specific concerns about CI (for example Windows builds). |
Beta Was this translation helpful? Give feedback.
-
We've discussed moving from drone to GH actions in the past, and we've also had some PRs in to move wholesale to GH actions from drone. Here are issues and PRs that encompass most of the work:
Personally, I think we should move to GH actions wholesale for two major reasons:
docker run -d ...
, instead of using services in drone or circle CISince we've discussed actions v. drone/others in a few places, I'd like to centralize that discussion here.
cc/ @marwan-at-work @robjloranger @twexler @chriscoffee
Beta Was this translation helpful? Give feedback.
All reactions