Skip to content
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

Docker Compose Enhancements #136

Merged
merged 20 commits into from
Jun 20, 2024
Merged

Conversation

l-monninger
Copy link
Collaborator

@l-monninger l-monninger commented Jun 18, 2024

Summary

  • RFCs: $\emptyset$.
  • Categories: protocol-units

Small improvements to docker compose to include container testing.

Changelog

Testing

  1. e2e container tests added.

README.md Outdated
Comment on lines 54 to 58
When running with `docker compose` specif your revision in a file `.env` at the root of the project. The file should look like this:

```bash
REV=0fe2a4f28820c04ca0db07cdd44cafc98b792f3f
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps it's better to put this env file under ./docker/compose to make its purpose clear to somebody who stumbles upon it in the repository. Or if it must be in the root, clarify the variable's purpose like CONTAINER_REV.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Referring to a container revision in the file that is under version control in the repository that is used to produce the container is going to be cumbersome. One consequence is that you could never have a clean tree that points docker-compose to use its current revision. Maybe the checked in .env file should be empty, or set some sensible default like latest?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now, we don't have a latest flow for most delivery; we're pinning by commit hash. Doing it that way, while more cumbersome, is more deterministic. Perhaps semver to come.

We do have branch specific tags, if you look at the packages on this repo, you'll see them.

But, yes, eventually latest tags will be introduced for people just looking to play around.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps it's better to put this env file under ./docker/compose to make its purpose clear to somebody who stumbles upon it in the repository. Or if it must be in the root, clarify the variable's purpose like CONTAINER_REV.

I think CONTAINER_REV makes the most sense to me. I will make the change.

@l-monninger
Copy link
Collaborator Author

I believe what matters here is the underlying Docker Engine API: docker/compose#11680

So, I would essentially need to actually install Docker 26 on the runner

@l-monninger l-monninger marked this pull request as ready for review June 20, 2024 11:21
Copy link
Collaborator

@mzabaluev mzabaluev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! One spuriously added file notwithstanding.

@@ -0,0 +1,57 @@
pub(crate) trait BackendInternalOperations {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks out of place; an accidental commit from the Godfig work?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Godfig

@l-monninger l-monninger merged commit 4fc261a into main Jun 20, 2024
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants