mattermost / mattermost-helm

Mattermost Helm charts for Kubernetes
Apache License 2.0
165 stars 147 forks source link

Migrate CircleCI PR pipelines to Github Actions. #358

Closed ghost closed 2 years ago

ghost commented 2 years ago

Summary

We will move CircleCI pipelines to Github Actions to fix race condition. Since we stop supporting CircleCI, we are migrating existing pipelines to Github Actions.

This PR contains migration of pull request pipelines, after having stable pipelines here, we will migrate release pipelines and fix race condition at followup PR.

Ticket Link

https://mattermost.atlassian.net/browse/CLD-3709

ghost commented 2 years ago

great work. Do you think we can move everything under makefile too. So we can keep consistency on the way we run commands in CI?

@phoinixgrr any feedback here?

Yes we can migrate everything as makefile but for some actions we need to do extra work. IE we can't use ludeeus/action-shellcheck@94e0aab03ca135d11a35e5bfc14e6746dc56e7e9 Github Action and install shellcheck via make.

Using make will also remove external Github Action dependencies.

phoinixgrr commented 2 years ago

great work. Do you think we can move everything under makefile too. So we can keep consistency on the way we run commands in CI?

@phoinixgrr any feedback here?

Great point.

If we move forward with the Makefile proposal, we will loose the wealth of Publicly available actions, (reusable pieces of code), that can be used to promote fast pipeline deployment. This is actually a well advertised and selling point for GitHub actions.

For every case we will need to write our own Makefile Code re-invent the wheel.

We can maintain a repository of our own GitHub actions that can be re-used.

ghost commented 2 years ago

@spirosoik @phoinixgrr I've created make targets to execute those actions in local environment.

ghost commented 2 years ago

If we are moving forward with Makefile, we should decouple from using direct helm/kubectl binaries from the host, and use a container instead.

Good suggestion, I will change makefile to execute everything in containers.

ghost commented 2 years ago

@phoinixgrr @spirosoik I've made changes to run everything in docker. Our requirements are make, kind and docker which are mentioned at Contributors document. PR is ready for review.