-
Notifications
You must be signed in to change notification settings - Fork 7
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
[DB Import] Add presubmit check #77
Conversation
5834093
to
c5d0b0d
Compare
abf78c1
to
23f5030
Compare
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.
Sorry for the delay. Mostly look good. I have some comments on handling docker images.
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.
LGTM as there is no immediate issue and I don't want to block this for too long.
Regarding the docker images, I'm happy to explore new method to manage them (and it really improves the development workflow). But I think P0 is to provide users the digests to pull docker images from gcr. So if we don't solve it in this PR, makes sure we have an assigned issue to track the follow-up.
If it has such a high priority I think we should try to solve it immediately or at least have a plan before merging this. If we wanted to use the "have the CI build the containers" approach that I'm proposing here I see the following options. (Of course it's also possible to just use the proven approach with
So what I'm basically asking is if solution 1 would be an option or if we need prebuilt images. 😅 WDYT? |
I'm actually convinced solution 1 is a very good idea, but there are a few things need to be done:
So maybe let's use |
Yes, sounds reasonable. I changed the PR to use I also created an issue and backreferenced this PR for future consideration. @pzread PTAL - there were some non-trivial changes which I believe warrant another review. |
So Docker Multi-Stage builds kind of support that already. The only downside is that the base image and the cuda image need to be defined in the same Dockerfile which kind of defeats the purpose. There have been discussions about supporting something like and Last time I looked at that I came to the conclusion that the most simple and robust solution would be to use some arbitrary templating language like Jinja2 to make 1 Dockerfile out of 2 or more Dockerfiles. But by now there might be better options available. moby/moby#735 has a huge discussion on the topic. |
LGTM, Thanks! |
This PR is adding a few related things at the same time: 1. It introduces a new CLI command config which adds to utility functions for handling config files: cli.py config dump dumps the entire config after YAML processing and cli.py config list_pipelines returns a newline-separated list with all the defined pipelines. 2. It is adding a Docker image definition for running presubmit checks in a Docker container. The purpose of the Docker container is mainly to build the bigquery-emulator. (It's a golang-tool and needs to be built from source) 3. It is adding a GitHub Actions workflow that first builds the Docker image and then runs the unit and integration tests. 4. It is adding a dummy pipeline config which is needed to see whether the integration tests work.
This PR is adding a few related things at the same time (Apologies for that.):
config
which adds to utility functions for handling config files:cli.py config dump
dumps the entire config after YAML processing andcli.py config list_pipelines
returns a newline-separated list with all the defined pipelines.