metacall / builder

An advanced build system based on Buildkit in order to generate compact Docker images with MetaCall runtime.
Apache License 2.0
4 stars 7 forks source link

feat: dev-deps-base impl #16

Closed iyear closed 1 year ago

iyear commented 1 year ago

complete root command run functions.

iyear commented 1 year ago

Please review, other commands will be based on this PR.

@viferga

iyear commented 1 year ago

I submitted the dev-deps-base directly in this PR

And how should we test it? Unit tests doesn't seem to make much sense

iyear commented 1 year ago

Run:

$ go build cmd/main.go && ./main dev deps-base -e 'sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list' | ./hack/buildctl.sh build --output type=docker,name=metacalldemo:dev-deps-base | docker load
[+] Building 3.2s (9/9) FINISHED
 => docker-image://docker.io/library/debian:bullseye-slim                                                                                                                                                    1.9s
 => => resolve docker.io/library/debian:bullseye-slim                                                                                                                                                        1.9s
 => CACHED sed -i s/deb.debian.org/mirrors.ustc.edu.cn/g /etc/apt/sources.list                                                                                                                               0.0s
 => CACHED apt-get update                                                                                                                                                                                    0.0s
 => CACHED apt-get install -y --no-install-recommends build-essential git cmake libgtest-dev wget apt-utils apt-transport-https gnupg dirmngr ca-certificates                                                0.0s
 => CACHED git clone --depth 1 --single-branch --branch=develop https://github.com/metacall/core.git                                                                                                         0.0s
 => CACHED mkdir core/build                                                                                                                                                                                  0.0s
 => CACHED cmake -DOPTION_BUILD_SCRIPTS=OFF -DOPTION_BUILD_EXAMPLES=OFF -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_DOCS=OFF -DOPTION_FORK_SAFE=OFF ..                                                           0.0s
 => CACHED cmake --build . -j 16 --target install                                                                                                                                                            0.0s 
 => exporting to docker image format                                                                                                                                                                         1.1s 
 => => exporting layers                                                                                                                                                                                      0.0s
 => => exporting manifest sha256:00627074aa4c5a594959db81e4949787355d5329faca207397d917075b69918c                                                                                                            0.0s 
 => => exporting config sha256:2b5e455ab0d1c8a6f5c7a72b7c1b9501c47c0ea72f91c41f191f6a53b8c3c24c                                                                                                              0.0s 
 => => sending tarball                                                                                                                                                                                       1.1s 
Loaded image: metacalldemo:dev-deps-base