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

chore(devx): make tilt crazy fast #1248

Merged
merged 1 commit into from
Dec 12, 2023

Conversation

krancour
Copy link
Member

@krancour krancour commented Dec 8, 2023

I had a lot of conversations with @rbreeze last week about reasons he typically opts to run Kargo components as native processes instead of a local cluster. It was enlightening and inspired me to fix everything that was slowing Tilt down.

If using Tilt to develop in a local cluster, this PR will make image builds faster overall, achieve sub-second restarts on every component, and the UI component will even be live updated as code changes.

How it works:

  1. Two new stages are added to the Dockerfile. These two new stages are not involved in the official image that is built and published by our release process. They are only for facilitating local development, and the differences between them and the stage that produces the official image are minor.

    There is one new stage for the back end and one for the front.

    The one for the back end copies a natively/locally built kargo binary from the host instead of building the kargo binary in-container. (This allows the build to take advantage of your local Go installation's own cache -- a benefit that is lost when building in a container.) It also omits the front end.

    The one for the front end runs vite -- which is how @rbreeze runs the front end locally. It also omits the back end.

  2. The updated Tiltfile has some new smarts.

    When a back end component is restarted, the kargo binary is built natively/locally and then the image is rebuilt, targeting the new back end stage that just copies that binary. This achieves sub-second restarts on back end components.

    For local development only, Tilt serves the front end from a separate component (not the API server.) It's running vite, as previously mentioned. When front end code changes, the changes are instantly synced to the pod running vite. Vite already knows how to apply code changes without restarting. This means the UI is always live updating as changes are made and never requires a restart.

Known issue: SSO will fail locally, but I know how to fix that and will handle it in a follow-up.

Screen.Recording.2023-12-07.at.9.42.03.PM.mov

Signed-off-by: Kent <kent.rancourt@gmail.com>
@krancour krancour added this to the v0.3.0 milestone Dec 8, 2023
@krancour krancour self-assigned this Dec 8, 2023
@krancour krancour requested a review from a team as a code owner December 8, 2023 02:45
Copy link

netlify bot commented Dec 8, 2023

Deploy Preview for docs-kargo-akuity-io ready!

Name Link
🔨 Latest commit 31b230a
🔍 Latest deploy log https://app.netlify.com/sites/docs-kargo-akuity-io/deploys/65728342336a6b0008f77c01
😎 Deploy Preview https://deploy-preview-1248.kargo.akuity.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

codecov bot commented Dec 8, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (bf276c5) 48.50% compared to head (31b230a) 48.50%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1248   +/-   ##
=======================================
  Coverage   48.50%   48.50%           
=======================================
  Files         127      127           
  Lines        9675     9675           
=======================================
  Hits         4693     4693           
  Misses       4823     4823           
  Partials      159      159           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@krancour krancour changed the title make tilt crazy fast chore[devx]: make tilt crazy fast Dec 8, 2023
@krancour krancour changed the title chore[devx]: make tilt crazy fast chore(devx): make tilt crazy fast Dec 8, 2023
Copy link
Member

@jessesuen jessesuen left a comment

Choose a reason for hiding this comment

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

Do you think you could separate this out this into a different Dockerfile. A technique I've seen and used in the past is to have Dockerfile and Dockerfile.dev to split out the dev related stuff from Dockerfile.

Because now if someone only wants to build a kargo image, then it will unnecessarily build other stuff.

@krancour
Copy link
Member Author

krancour commented Dec 12, 2023

@jessesuen it won't unnecessarily build other stuff.

Docker is smart about only building the stages that are required for the final product.

Edit: I stand corrected. I could not find the documentation to verify that and a test build is showing me otherwise. Looking into it.

Edit 2: Correcting my correction. Buildkit does skip unnecessary layers, and indeed my test builds did. I was misinterpreting my build logs.

Here is an example, built using absolute minimum options and no cache as proof:

docker build . --no-cache --progress plain &> build_logs.txt
#0 building with "desktop-linux" instance using docker driver

#1 [internal] load .dockerignore
#1 transferring context: 63B done
#1 DONE 0.0s

#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 3.85kB done
#2 DONE 0.0s

#3 [auth] library/node:pull token for registry-1.docker.io
#3 DONE 0.0s

#4 [auth] library/golang:pull token for registry-1.docker.io
#4 DONE 0.0s

#5 [auth] curlimages/curl:pull token for registry-1.docker.io
#5 DONE 0.0s

#6 [internal] load metadata for docker.io/library/node:20.9.0
#6 ...

#7 [internal] load metadata for ghcr.io/akuity/kargo-render:v0.1.0-rc.33
#7 DONE 0.4s

#8 [internal] load metadata for docker.io/curlimages/curl:8.4.0
#8 DONE 0.5s

#6 [internal] load metadata for docker.io/library/node:20.9.0
#6 DONE 0.5s

#9 [internal] load metadata for docker.io/library/golang:1.21.4-bookworm
#9 DONE 0.5s

#10 [final 1/4] FROM ghcr.io/akuity/kargo-render:v0.1.0-rc.33@sha256:494d26cbbbebf8810be2680efe6e0fa56bc2bdff8a2debf0478643af993c88e6
#10 CACHED

#11 [tools 1/3] FROM docker.io/curlimages/curl:8.4.0@sha256:4a3396ae573c44932d06ba33f8696db4429c419da87cbdc82965ee96a37dd0af
#11 DONE 0.0s

#12 [ui-builder 1/7] FROM docker.io/library/node:20.9.0@sha256:146bbe4eaee99ae885be2a0a767f63a4b96032141d70d80e590f10e0d7ebabcb
#12 CACHED

#13 [tools 2/3] WORKDIR /tools
#13 CACHED

#14 [back-end-builder  1/10] FROM docker.io/library/golang:1.21.4-bookworm@sha256:52362e252f452df17c24131b021bf2ebf1c9869f65c28f88ddb326191defea9c
#14 resolve docker.io/library/golang:1.21.4-bookworm@sha256:52362e252f452df17c24131b021bf2ebf1c9869f65c28f88ddb326191defea9c 0.0s done
#14 DONE 0.0s

#15 [back-end-builder  2/10] WORKDIR /kargo
#15 CACHED

#16 [internal] load build context
#16 transferring context: 38.82kB 0.0s done
#16 DONE 0.0s

#17 [back-end-builder  3/10] COPY [go.mod, go.sum, ./]
#17 DONE 0.0s

#18 [back-end-builder  4/10] RUN go mod download
#18 ...

#19 [tools 3/3] RUN GRPC_HEALTH_PROBE_VERSION=v0.4.15 &&     curl -fL -o /tools/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-arm64 &&     chmod +x /tools/grpc_health_probe
#19 0.312   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#19 0.312                                  Dload  Upload   Total   Spent    Left  Speed
#19 0.312 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
#19 0.748 
 14 10.1M   14 1519k    0     0  3483k      0  0:00:02 --:--:--  0:00:02 3483k
100 10.1M  100 10.1M    0     0  9049k      0  0:00:01  0:00:01 --:--:-- 12.1M
#19 DONE 1.5s

#20 [ui-builder 2/7] RUN npm install --global pnpm
#20 1.636 
#20 1.636 added 1 package in 1s
#20 1.636 
#20 1.636 1 package is looking for funding
#20 1.636   run `npm fund` for details
#20 1.636 npm notice 
#20 1.636 npm notice New minor version of npm available! 10.1.0 -> 10.2.5
#20 1.636 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.2.5>
#20 1.636 npm notice Run `npm install -g npm@10.2.5` to update!
#20 1.636 npm notice 
#20 DONE 1.7s

#21 [ui-builder 3/7] WORKDIR /ui
#21 DONE 0.0s

#22 [ui-builder 4/7] COPY [ui/package.json, ui/pnpm-lock.yaml, ./]
#22 DONE 0.0s

#23 [ui-builder 5/7] RUN pnpm install
#23 0.447 Lockfile is up to date, resolution step is skipped
#23 0.493 Progress: resolved 1, reused 0, downloaded 0, added 0
#23 0.564 Packages: +668
#23 0.564 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#23 1.494 Progress: resolved 668, reused 0, downloaded 28, added 28
#23 2.496 Progress: resolved 668, reused 0, downloaded 91, added 91
#23 3.495 Progress: resolved 668, reused 0, downloaded 149, added 149
#23 4.495 Progress: resolved 668, reused 0, downloaded 250, added 250
#23 5.495 Progress: resolved 668, reused 0, downloaded 369, added 369
#23 6.496 Progress: resolved 668, reused 0, downloaded 568, added 567
#23 7.498 Progress: resolved 668, reused 0, downloaded 666, added 666
#23 8.500 Progress: resolved 668, reused 0, downloaded 667, added 667
#23 8.525 Progress: resolved 668, reused 0, downloaded 668, added 668, done
#23 8.670 .../fontawesome-common-types postinstall$ node attribution.js
#23 8.696 .../fontawesome-common-types postinstall: Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
#23 8.696 .../fontawesome-common-types postinstall: License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
#23 8.696 .../fontawesome-common-types postinstall: Copyright 2023 Fonticons, Inc.
#23 8.698 .../fontawesome-common-types postinstall: Done
#23 8.705 .../@fortawesome/fontawesome-svg-core postinstall$ node attribution.js
#23 8.711 .../@fortawesome/free-brands-svg-icons postinstall$ node attribution.js
#23 8.718 .../esbuild@0.19.7/node_modules/esbuild postinstall$ node install.js
#23 8.725 .../@fortawesome/free-solid-svg-icons postinstall$ node attribution.js
#23 8.731 .../@fortawesome/fontawesome-svg-core postinstall: Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
#23 8.731 .../@fortawesome/fontawesome-svg-core postinstall: License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
#23 8.731 .../@fortawesome/fontawesome-svg-core postinstall: Copyright 2023 Fonticons, Inc.
#23 8.734 .../@fortawesome/free-brands-svg-icons postinstall: Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
#23 8.734 .../@fortawesome/free-brands-svg-icons postinstall: License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
#23 8.734 .../@fortawesome/free-brands-svg-icons postinstall: Copyright 2023 Fonticons, Inc.
#23 8.739 .../@fortawesome/free-brands-svg-icons postinstall: Done
#23 8.740 .../@fortawesome/fontawesome-svg-core postinstall: Done
#23 8.746 .../@fortawesome/free-solid-svg-icons postinstall: Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
#23 8.746 .../@fortawesome/free-solid-svg-icons postinstall: License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
#23 8.746 .../@fortawesome/free-solid-svg-icons postinstall: Copyright 2023 Fonticons, Inc.
#23 8.749 .../@fortawesome/free-solid-svg-icons postinstall: Done
#23 8.759 .../esbuild@0.19.7/node_modules/esbuild postinstall: Done
#23 9.108 
#23 9.108 dependencies:
#23 9.108 + @bufbuild/connect 0.13.0
#23 9.108 + @bufbuild/connect-query 0.4.1
#23 9.108 + @bufbuild/connect-web 0.13.0
#23 9.108 + @bufbuild/protobuf 1.4.2
#23 9.108 + @fortawesome/fontawesome-svg-core 6.4.2
#23 9.108 + @fortawesome/free-brands-svg-icons 6.4.2
#23 9.108 + @fortawesome/free-solid-svg-icons 6.4.2
#23 9.108 + @fortawesome/react-fontawesome 0.2.0
#23 9.108 + @hookform/resolvers 3.3.2
#23 9.108 + @monaco-editor/react 4.6.0
#23 9.108 + @tanstack/react-query 5.8.4
#23 9.108 + @types/dagre 0.7.52
#23 9.108 + antd 5.11.2
#23 9.108 + classnames 2.3.2
#23 9.108 + dagre 0.8.5
#23 9.108 + date-fns 2.30.0
#23 9.108 + monaco-editor 0.44.0
#23 9.108 + monaco-yaml 5.1.0
#23 9.108 + oauth4webapi 2.4.0
#23 9.108 + react 18.2.0
#23 9.108 + react-dom 18.2.0
#23 9.108 + react-hook-form 7.48.2
#23 9.108 + react-router-dom 6.19.0
#23 9.108 + vite-plugin-monaco-editor 1.1.0
#23 9.108 + vitest 0.34.6
#23 9.108 + yaml 2.3.4
#23 9.108 + zod 3.22.4
#23 9.108 
#23 9.108 devDependencies:
#23 9.108 + @openapi-contrib/openapi-schema-to-json-schema 5.1.0
#23 9.108 + @types/json-schema 7.0.15
#23 9.108 + @types/node 20.9.2
#23 9.108 + @types/react 18.2.37
#23 9.108 + @types/react-dom 18.2.15
#23 9.108 + @typescript-eslint/eslint-plugin 6.11.0
#23 9.108 + @typescript-eslint/parser 6.11.0
#23 9.108 + @vitejs/plugin-react 4.2.0
#23 9.108 + autoprefixer 10.4.16
#23 9.108 + cssnano 6.0.1
#23 9.108 + eslint 8.54.0
#23 9.108 + eslint-config-prettier 9.0.0
#23 9.108 + eslint-plugin-import 2.29.0
#23 9.108 + eslint-plugin-prettier 5.0.1
#23 9.108 + eslint-plugin-react 7.33.2
#23 9.108 + eslint-plugin-react-refresh 0.4.4
#23 9.108 + json-stable-stringify 1.1.0
#23 9.108 + less 4.2.0
#23 9.108 + postcss 8.4.31
#23 9.108 + prettier 3.1.0
#23 9.108 + tailwindcss 3.3.5
#23 9.108 + typescript 5.2.2
#23 9.108 + vite 5.0.0
#23 9.108 + vite-tsconfig-paths 4.2.1
#23 9.108 + zx 7.2.3
#23 9.108 
#23 9.119 Done in 8.9s
#23 DONE 9.7s

#24 [ui-builder 6/7] COPY [ui/, .]
#24 DONE 0.0s

#25 [ui-builder 7/7] RUN NODE_ENV='production' pnpm run build
#25 0.431 
#25 0.431 > kargo-ui@0.0.1 build /ui
#25 0.431 > vite build
#25 0.431 
#25 0.559 �[33mThe CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.�[39m
#25 1.075 vite v5.0.0 building for production...
#25 1.092 transforming...
#25 2.573 node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/card/Card.js (22:2) A comment
#25 2.573 
#25 2.573 "/*#__PURE__*/"
#25 2.573 
#25 2.573 in "node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/card/Card.js" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.
#25 2.759 node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/list/Item.js (81:2) A comment
#25 2.759 
#25 2.759 "/*#__PURE__*/"
#25 2.759 
#25 2.759 in "node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/list/Item.js" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.
#25 3.566 node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/skeleton/Paragraph.js (28:2) A comment
#25 3.566 
#25 3.566 "/*#__PURE__*/"
#25 3.566 
#25 3.566 in "node_modules/.pnpm/antd@5.11.2_date-fns@2.30.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/skeleton/Paragraph.js" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.
#25 4.503 node_modules/.pnpm/rc-field-form@1.40.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/validateUtil.js (84:14) A comment
#25 4.503 
#25 4.503 "/*#__PURE__*/"
#25 4.503 
#25 4.503 in "node_modules/.pnpm/rc-field-form@1.40.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/validateUtil.js" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.
#25 ...

#18 [back-end-builder  4/10] RUN go mod download
#18 DONE 22.8s

#26 [back-end-builder  5/10] COPY api/ api/
#26 DONE 0.0s

#27 [back-end-builder  6/10] COPY cmd/ cmd/
#27 DONE 0.0s

#28 [back-end-builder  7/10] COPY internal/ internal/
#28 DONE 0.0s

#29 [back-end-builder  8/10] COPY pkg/ pkg/
#29 DONE 0.0s

#30 [back-end-builder  9/10] RUN GOOS=linux GOARCH=arm64 go build       -ldflags "-w -X github.com/akuity/kargo/internal/version.version=${VERSION} -X github.com/akuity/kargo/internal/version.buildDate=$(date -u +'%Y-%m-%dT%H:%M:%SZ') -X github.com/akuity/kargo/internal/version.gitCommit=${GIT_COMMIT} -X github.com/akuity/kargo/internal/version.gitTreeState=${GIT_TREE_STATE}"       -o bin/kargo       ./cmd/controlplane     && bin/kargo version
#30 ...

#25 [ui-builder 7/7] RUN NODE_ENV='production' pnpm run build
#25 16.43 ✓ 3274 modules transformed.
#25 17.48 rendering chunks...
#25 18.96 [plugin:vite:reporter] 
#25 18.96 (!) /ui/src/features/common/code-editor/yaml-editor-lazy.tsx is dynamically imported by /ui/src/features/common/code-editor/yaml-editor.tsx but also statically imported by /ui/src/features/stage/manifest-preview.tsx, dynamic import will not move module into another chunk.
#25 18.96 
#25 20.57 computing gzip size...
#25 21.07 build/index.html                               1.96 kB │ gzip:     0.77 kB
#25 21.07 build/assets/codicon-bk9r_2La.ttf             73.62 kB
#25 21.07 build/assets/index-ebZ7NkJ4.css              129.89 kB │ gzip:    22.08 kB
#25 21.07 build/assets/azcli-Hxsi4GKc.js                 1.09 kB │ gzip:     0.46 kB
#25 21.07 build/assets/javascript-OZpINbAy.js            1.19 kB │ gzip:     0.62 kB
#25 21.07 build/assets/ini-euwzHC3h.js                   1.35 kB │ gzip:     0.68 kB
#25 21.07 build/assets/csp-0al10tP9.js                   1.67 kB │ gzip:     0.67 kB
#25 21.07 build/assets/pla-p-RkmBIs.js                   1.93 kB │ gzip:     0.79 kB
#25 21.07 build/assets/scheme-8TZlv1Ck.js                2.01 kB │ gzip:     0.95 kB
#25 21.07 build/assets/flow9-zg9RfIzD.js                 2.06 kB │ gzip:     0.99 kB
#25 21.07 build/assets/sb-YWZ26Zx_.js                    2.08 kB │ gzip:     0.97 kB
#25 21.07 build/assets/bat-Q_s3PbYC.js                   2.09 kB │ gzip:     1.01 kB
#25 21.07 build/assets/dockerfile-2cNg6a1i.js            2.12 kB │ gzip:     0.81 kB
#25 21.07 build/assets/pascaligo-moBHG3-t.js             2.25 kB │ gzip:     1.05 kB
#25 21.07 build/assets/lua-skgIk584.js                   2.37 kB │ gzip:     1.06 kB
#25 21.07 build/assets/cameligo-d_2sDscQ.js              2.43 kB │ gzip:     1.10 kB
#25 21.07 build/assets/graphql-u28AJg2K.js               2.51 kB │ gzip:     1.16 kB
#25 21.07 build/assets/objective-c-J35vC9Be.js           2.65 kB │ gzip:     1.20 kB
#25 21.07 build/assets/lexon-_AONYzEo.js                 2.68 kB │ gzip:     1.07 kB
#25 21.07 build/assets/xml-eZ6hFycF.js                   2.68 kB │ gzip:     1.11 kB
#25 21.07 build/assets/bicep-qcBqeq76.js                 2.78 kB │ gzip:     1.10 kB
#25 21.07 build/assets/sparql-k7UNJiiE.js                2.80 kB │ gzip:     1.30 kB
#25 21.07 build/assets/mips-0v65af2e.js                  2.83 kB │ gzip:     1.22 kB
#25 21.07 build/assets/go-lnDF0c7h.js                    2.90 kB │ gzip:     1.28 kB
#25 21.07 build/assets/sophia-smihUhQ1.js                3.01 kB │ gzip:     1.34 kB
#25 21.07 build/assets/m3-X7Z5KWLM.js                    3.06 kB │ gzip:     1.44 kB
#25 21.07 build/assets/qsharp-7oJ52lc-.js                3.18 kB │ gzip:     1.50 kB
#25 21.07 build/assets/fsharp-ujvAtSN4.js                3.23 kB │ gzip:     1.46 kB
#25 21.07 build/assets/pascal-1hwosaxM.js                3.24 kB │ gzip:     1.54 kB
#25 21.07 build/assets/shell-qNupbsKp.js                 3.32 kB │ gzip:     1.35 kB
#25 21.07 build/assets/r-ifGd5tQK.js                     3.38 kB │ gzip:     1.42 kB
#25 21.07 build/assets/java-TOJ4bcgr.js                  3.47 kB │ gzip:     1.53 kB
#25 21.07 build/assets/powershell-NcRq3KOm.js            3.52 kB │ gzip:     1.51 kB
#25 21.07 build/assets/cypher-FDB9tL3Y.js                3.63 kB │ gzip:     1.57 kB
#25 21.07 build/assets/kotlin-RPhkh7Ga.js                3.69 kB │ gzip:     1.61 kB
#25 21.07 build/assets/redis-JS4KAiP-.js                 3.80 kB │ gzip:     1.62 kB
#25 21.07 build/assets/tcl-Kes-fWNO.js                   3.82 kB │ gzip:     1.50 kB
#25 21.07 build/assets/coffee-dSWhFxdb.js                3.84 kB │ gzip:     1.45 kB
#25 21.07 build/assets/hcl-P-3O9OhS.js                   3.84 kB │ gzip:     1.62 kB
#25 21.07 build/assets/python-UcB1bwps.js                3.89 kB │ gzip:     1.73 kB
#25 21.07 build/assets/markdown-xk0kAtSy.js              4.03 kB │ gzip:     1.52 kB
#25 21.07 build/assets/restructuredtext-ymOTESRl.js      4.14 kB │ gzip:     1.50 kB
#25 21.07 build/assets/less-uMMsd1Fb.js                  4.14 kB │ gzip:     1.56 kB
#25 21.07 build/assets/apex-e0qHhhQ2.js                  4.20 kB │ gzip:     1.91 kB
#25 21.07 build/assets/liquid-ZtTb2bvv.js                4.24 kB │ gzip:     1.80 kB
#25 21.07 build/assets/yaml-YqmxtlIN.js                  4.29 kB │ gzip:     1.66 kB
#25 21.07 build/assets/rust-hxE_RPYa.js                  4.41 kB │ gzip:     1.96 kB
#25 21.07 build/assets/dart-w1w0DHu_.js                  4.50 kB │ gzip:     1.78 kB
#25 21.07 build/assets/css-xddmuE0Y.js                   4.76 kB │ gzip:     1.52 kB
#25 21.07 build/assets/csharp-Pps3ql_f.js                4.77 kB │ gzip:     1.87 kB
#25 21.07 build/assets/pug-4ea8DnPs.js                   5.07 kB │ gzip:     1.78 kB
#25 21.07 build/assets/mdx-egznZhXj.js                   5.13 kB │ gzip:     1.59 kB
#25 21.07 build/assets/msdax-x6UjCSY_.js                 5.16 kB │ gzip:     2.10 kB
#25 21.07 build/assets/html-9g6yqUnp.js                  5.29 kB │ gzip:     1.54 kB
#25 21.07 build/assets/swift-gEa_tFDy.js                 5.42 kB │ gzip:     2.21 kB
#25 21.07 build/assets/ecl-sT3yQE9q.js                   5.59 kB │ gzip:     2.38 kB
#25 21.07 build/assets/typescript-JJL3nAfj.js            5.68 kB │ gzip:     2.30 kB
#25 21.07 build/assets/cpp-BqOYKsnz.js                   5.72 kB │ gzip:     2.26 kB
#25 21.07 build/assets/vb-bKRxztbj.js                    6.04 kB │ gzip:     2.20 kB
#25 21.07 build/assets/twig-xwDYaenL.js                  6.22 kB │ gzip:     1.66 kB
#25 21.07 build/assets/scss-5PTIviOW.js                  6.66 kB │ gzip:     1.89 kB
#25 21.07 build/assets/handlebars-AaJN9JOM.js            7.05 kB │ gzip:     1.75 kB
#25 21.07 build/assets/julia-rnwaT47d.js                 7.34 kB │ gzip:     2.77 kB
#25 21.07 build/assets/scala-FxCA6BEr.js                 7.56 kB │ gzip:     2.23 kB
#25 21.07 build/assets/wgsl-1YByPvsL.js                  7.59 kB │ gzip:     2.90 kB
#25 21.07 build/assets/st-f7-WU-D7.js                    7.64 kB │ gzip:     2.38 kB
#25 21.07 build/assets/systemverilog-M2Rh86Kr.js         7.85 kB │ gzip:     2.89 kB
#25 21.07 build/assets/postiats-P_ys85cv.js              8.10 kB │ gzip:     2.55 kB
#25 21.07 build/assets/php-Xfn-RDpa.js                   8.27 kB │ gzip:     2.20 kB
#25 21.07 build/assets/perl-To33GEZU.js                  8.50 kB │ gzip:     3.24 kB
#25 21.07 build/assets/ruby-mArmqtJ_.js                  8.75 kB │ gzip:     2.70 kB
#25 21.07 build/assets/razor-uv7x-mMJ.js                 9.05 kB │ gzip:     2.43 kB
#25 21.07 build/assets/protobuf-zYwVIClF.js              9.29 kB │ gzip:     2.20 kB
#25 21.07 build/assets/clojure-Ely-Jei5.js               9.89 kB │ gzip:     3.74 kB
#25 21.07 build/assets/elixir-THYwfHxf.js               10.50 kB │ gzip:     2.65 kB
#25 21.07 build/assets/sql-dNhQeTRp.js                  10.54 kB │ gzip:     3.98 kB
#25 21.07 build/assets/mysql-AdV0_VJG.js                11.52 kB │ gzip:     4.20 kB
#25 21.07 build/assets/redshift-6Xkl-xy3.js             12.05 kB │ gzip:     4.46 kB
#25 21.07 build/assets/pgsql-IJQ_GTOv.js                13.71 kB │ gzip:     4.63 kB
#25 21.07 build/assets/abap-5vQTzkyG.js                 14.41 kB │ gzip:     5.47 kB
#25 21.07 build/assets/freemarker2-d0mcVfWZ.js          16.37 kB │ gzip:     4.27 kB
#25 21.07 build/assets/powerquery-ihKmnqy4.js           17.19 kB │ gzip:     5.00 kB
#25 21.07 build/assets/solidity-8-43Gjim.js             18.84 kB │ gzip:     4.58 kB
#25 21.07 build/assets/tsMode-FOmoai4g.js               23.21 kB │ gzip:     6.68 kB
#25 21.07 
#25 21.07 (!) Some chunks are larger than 500 kB after minification. Consider:
#25 21.07 - Using dynamic import() to code-split the application
#25 21.07 - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
#25 21.07 - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
#25 21.07 build/assets/cssMode-CCNX1dCH.js              33.71 kB │ gzip:     8.93 kB
#25 21.07 build/assets/htmlMode-AjKUkV5H.js             34.27 kB │ gzip:     9.05 kB
#25 21.07 build/assets/jsonMode-RLpBUA0P.js             39.76 kB │ gzip:    11.08 kB
#25 21.07 build/assets/index-JbP97-TG.js             4,760.86 kB │ gzip: 1,284.12 kB
#25 21.07 ✓ built in 20.00s
#25 DONE 21.5s

#30 [back-end-builder  9/10] RUN GOOS=linux GOARCH=arm64 go build       -ldflags "-w -X github.com/akuity/kargo/internal/version.version=${VERSION} -X github.com/akuity/kargo/internal/version.buildDate=$(date -u +'%Y-%m-%dT%H:%M:%SZ') -X github.com/akuity/kargo/internal/version.gitCommit=${GIT_COMMIT} -X github.com/akuity/kargo/internal/version.gitTreeState=${GIT_TREE_STATE}"       -o bin/kargo       ./cmd/controlplane     && bin/kargo version
#30 18.72 {
#30 18.72   "Version": "devel+unknown.dirty",
#30 18.72   "BuildDate": "2023-12-12T21:24:23Z",
#30 18.72   "GitCommit": "",
#30 18.72   "GitTreeDirty": true,
#30 18.72   "GoVersion": "go1.21.4",
#30 18.72   "Compiler": "gc",
#30 18.72   "Platform": "linux/arm64"
#30 18.72 }
#30 DONE 19.0s

#31 [back-end-builder 10/10] WORKDIR /kargo/bin
#31 DONE 0.0s

#32 [final 2/4] COPY --from=back-end-builder /kargo/bin/ /usr/local/bin/
#32 DONE 0.1s

#33 [final 3/4] COPY --from=tools /tools/ /usr/local/bin/
#33 DONE 0.0s

#34 [final 4/4] COPY --from=ui-builder /ui/build /ui/build
#34 DONE 0.1s

#35 exporting to image
#35 exporting layers
#35 exporting layers 0.1s done
#35 writing image sha256:34531c809194f24c5ff560815834aa7b056739801daedabda0c4a0f60c7c18b9 done
#35 DONE 0.1s

There is no occurrence of string back-end-dev or ui-dev in these logs, meaning those stages were skipped since they were not necessary for the final product.

@krancour krancour added this pull request to the merge queue Dec 12, 2023
Merged via the queue into akuity:main with commit 6e3c38e Dec 12, 2023
18 of 21 checks passed
@krancour krancour deleted the krancour/faster-tilt branch December 12, 2023 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants