This has been a long-running discussion. We've never been completely happy with CircleCI, but it's never felt like a good use of time to migrate to something else. Primarily because other platforms felt just as risky, it was likely we'd have similar complaints with whatever we moved to. That said, we've been slowly adopting Github actions due to its convenience and it appears to solve some of the frustrations we have with CircleCI:
cargo audit, etc.circleci/config.yaml file which is daunting to look at and frustrating to test.I'd like to open this issue for discussion. Assuming we all agree we should create a checklist of Github actions we'd like to create over time.
/src, /tests, /proto).I'd love to be part of this task!
I'm doing some work with Github Actions to automate the test harness and make it invocable via the specially formatted PR comment (i.e. something like /test) - see #1416.
I've described the design here, and one of the points there is building vector as the Github Action step. This seems relevant, and we could probably reuse either build step scripts, or the artifacts from the previous builds if those exist.
It's just something to consider. For now I'll go with the simplest way to make it work initially - building the requested commit from scratch every time.
Yes, I'd like to also note that #1663 will greatly simplify how we migrate since we'll be mostly decoupling from Circle with the tasks outlined in that issue. That said, this issue is blocked until that work is done.
Found this: https://github.com/nektos/act
Since I linked this act above, it has changed a lot. In short, it works now.
How are we handling Windows testing and releasing?
GA supports windows, this shouldn't be an issue.
Noting, we still have the following workflows to transition:
Closing this since it's mostly done. I will be opening a new issue that is more accurate.