-
Notifications
You must be signed in to change notification settings - Fork 984
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
CI/CD quickstart #2777
CI/CD quickstart #2777
Conversation
run: | | ||
sudo apt update | ||
sudo apt install -y stunnel make git gcc maven | ||
- name: Maven offline |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would make sense to use the maven setup action:
- name: Setup Maven Action
uses: s4u/[email protected]
with:
java-version: 8
- name: Cache Maven
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-maven
to include Maven repo caching, avoiding repetitive artifact downloads.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Totally, makes sense to install maven with an action.
I am a bit hesitant on the cache action topic though. Using this key would bean any build on this OS would be cached once and subsequent builds would use this cache, which I am not sure is correct. I think a better approach is the one given in the manual as it would hash the pom.xml file contents.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably sticking to the manual is fine either. Looking at the setup, as pull requests are included in the run, including the deployment step doesn't make sense.
Do you want to have a separate action for snapshot deployment? |
Good question! But I'd like to talk to the team to get some more clarity. Do you think we should wait until this discussion is over? |
IMO we could reuse the outcome of this job, run |
Do you mean remove it from this workflow entirely? What would this flow verify then? |
This solves #2747 only partially:
|
Utilizing the Github actions to implement a simple pipeline
Initiated nightly or when there is a push / pull request, it consists of these steps:
This first implementation heavily relies on the Makefile as a means to automate the process.
It also builds and deploys the Redis instances each time we run the pipeline.
The key disadvantages a future improvement might want to address are:
The purpose of this initial implementation is to serve as a stepping stone that we can then improve and in the same time guarantee that any incoming changes are not breaking the build integrity or degrading the test coverage.