-
Notifications
You must be signed in to change notification settings - Fork 17
Make an image for the environment to build engine source #176
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
Make an image for the environment to build engine source #176
Conversation
9e2505e to
75f1e07
Compare
| cat > .gclient << EOF | ||
| solutions = [ | ||
| { "name" : 'src/flutter', | ||
| "url" : 'https://github.com/flutter-tizen/engine.git', | ||
| "deps_file" : 'DEPS', | ||
| "managed" : False, | ||
| "custom_deps" : { | ||
| }, | ||
| "custom_vars": {}, | ||
| }, | ||
| ] | ||
| EOF |
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.
Why don't use use a gclient config command like this:
gclient config --name="src/flutter" --deps-file="DEPS" --unmanaged https://github.com/flutter-tizen/engine.gitThere 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.
gclient config is also ok. but gclient config seems to do other things that we don't need. sometimes it takes more than 10 seconds.
| on: | ||
| push: | ||
| branches: | ||
| - 'flutter-*' |
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.
Question: When I create a new branch (say) flutter-2.4.0-tizen with these files included, will the corresponding Docker image be generated automatically? Is there anything I need to know?
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.
Yes, the image will be generated and pushed automatically when you push any changes of ci/docker/tizen/** to flutter-* branches. But currently it will have same tag latest. I think it is better to push with multiple tags latest and the branch name flutter-2.4.0-tizen if the container registry allows the quota.
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.
Engine 버전을 업데이트하는 동안에는 보통 서로 다른 두 DEPS가 동시에 사용이 됩니다. 예를 들어 제가 flutter-2.4.0-tizen에 첫 commit과 PR을 쓰더라도 기존의 PR들은 flutter-2.2.1-tizen을 타게팅하고 있기 때문에 2.4.0의 DEPS를 사용한 빌드와 2.2.1의 DEPS를 사용한 빌드가 자주 번갈아서 일어나게 됩니다. 빌드 전에 gclient sync를 항상 돌리기 때문에 큰 문제가 없을 수는 있지만 의도한 동작이 맞는지는 확인해보시기 바랍니다.
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.
이 Docker 이미지에서 gclient sync를 하는 이유는 engine 빌드시 gclient sync 시간이 상대적으로 오래걸리는 dart, skia 관련 repository의 .git directory를 이미지내에 미리 cache하기 위함입니다. 말씀하신 상황에서는 cache된 .git 디렉토리에서 commit hash를 찾지 못해 (shallow clone이므로) gclient sync가 조금 더 오래 걸리는 상황이 있긴 하겠지만, 큰 문제가 되지는 않을 것 같습니다.
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.
Can we use Korean now? 👀
BTW, What's wrong with your tone? Who use translator? 😄
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.
@bwikbs I rarely use Korean for some comments that I can't express in English quickly, only if the topic is not important for other reviewers.
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.
Oh, I see. Now talk about translator part 😄
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.
What's wrong with my tone 😢
I try to use correct spelling and grammar to help Google translator translate my Korean comments.
New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git)
ce6460d to
b752f5c
Compare
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
* Make an image for the environment to build engine source New docker image named "build-engine" contains the following: - Additional ubuntu packages : git curl ca-certificates python xz-utils pkg-config libncurses5 libfreetype6-dev - depot_tools - some .git cached directories to reduce gclient sync time. (dart/**/.git, skia/.git) * Remove hard-coded branch name in build-docker.sh * Add DEPS to path filter of the build-docker workflow. * Remove redundant lines of .gclient
New docker image named "build-engine" contains the following:
After this docker image is registered,
prepare-sync.shscript will be run before thegclient syncin the build workflow to remove unnecessary dependencies fromDEPSfile.