-
Notifications
You must be signed in to change notification settings - Fork 73
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
chore(cicd): remove CI pipeline external infra dependencies #2403
Conversation
33f1654
to
005714d
Compare
6648d2e
to
d3e2d9f
Compare
d3e2d9f
to
a4535a7
Compare
b036096
to
f86d71f
Compare
f86d71f
to
7e4c85c
Compare
// wait for pokeshop services | ||
waitForPort("8081") | ||
waitForPort("8082") | ||
time.Sleep(10 * time.Second) |
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.
Even with waitForPort
for some reason Pokeshop drops the connection for a while, this is why I added time.Sleep
again.
|
||
**CLI** and **Server** are mainly built from the project root using [GoReleaser](https://goreleaser.com/) to simplify packaging and distribution. | ||
|
||
The server is responsible for serving both the API and the web UI. The easiest way to mix those 2 things for distribution is with docker. We rely on GoReleaser again for packaging all those things together. |
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.
serving both the CLI and the web UI
?
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 doesn't serve the CLI, it serves the API that the CLI consumes. but it's also the "http server" that delivers the web UI (like index.html, *.js, etc). That's what this means by "serve". Not that it is "at the service of", but that it delivers the web responses for.
Does that make sense? Do you think there's a more clear way to state that?
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.
I see. No, I think it's ok in that way. Thanks for the details.
Co-authored-by: Jorge Padilla <[email protected]>
e4ebf92
to
c57bbaf
Compare
I love what we did here, as soon as we get v0.11.10 out the door lets merge this! |
This PR focuses on making our pipeline easier to use, a bit faster, and remove dependenies with external resources, mainly cloud kubernetes.
Previously, we deployed the code to a kubernetes instance and created a tunnel via port forwarding. This apprach has a few problems:
pr-*
images. They need to be deployed somewhere to be accessible to the deployment.With this new approach, each e2e test starts its own docker-compose instance. They run in parallel without ever interacting with each other.
The pipeline is defined to use bash scripts that live in the repo. This makes it easy to run the exact same tests with the exact same params on the CI environment and locally.
By leveraging docker export/import of images and GitHub Actions artifacts, we don't need to ever push the image to an external repo.
There's also some new documentation about how to run and test the app locally in CONTRIBUTING.md
Checklist