Continuous integration and deployment (CI/CD) update #183
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses #180
In order to improve transparency, simplicity and speed of the CI process, I feel it's easier if we switch to a CI tool that integrates natively with Git repository as opposed to generic workflow manager like Argo. CI build process can then be triggered based on Git events such as push, pull request, and tag creation (vs manually listening to these if we use generic workflow tools).
There are many CI tools that integrate well with Git and Github like Travis and CircleCI, but for this proposal I choose Drone because of its simplicity and flexibility.
The file that defines the CI pipeline looks like this: https://github.com/davidheryanto/feast/blob/44e3d6dd827a26799a698c8558e6a32acb3b78be/.drone.yml
The build output can be seen from Drone Dashboard:
(the link below will be visible automatically in Github pull request page / build status badge)
http://drone.dragonin.me/davidheryanto/feast/378
How this improves transparency
How this improves simplicity
Feast release
when a tag is created, and just run tests otherwise.How this improves speed
EXTRA NOTES
$FEAST_REPO/testing/
folder which includesprow
config. So we may need to add prow config back later.values.yaml
file):