Refactor build caching for edge and stable + Update to v5.112.0#595
Refactor build caching for edge and stable + Update to v5.112.0#595pascalandy wants to merge 7 commits intomasterfrom
Conversation
|
Caution Review failedThe pull request is closed. """ WalkthroughThe changes update the application version from "5.111.0" to "5.113.0" in both the environment configuration file and the Dockerfile. The Dockerfile's Changes
Possibly related PRs
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (3)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Overview
Environment Variables (8 changes)
-GHOST_CLI_VERSION=1.27.0
-GHOST_CONTENT=/var/lib/ghost/content
-GHOST_INSTALL=/var/lib/ghost
-GOSU_VERSION=1.17
-NODE_ENV=production
-NODE_VERSION=20.19.2-alpine3.22
+NODE_VERSION=20.19.2
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-USER=node
-VERSION=5.112.0
YARN_VERSION=1.22.22Labels (15 changes)
-com.firepress.image.base_os=
-com.firepress.image.ghost_cli_version=1.27.0
-com.firepress.image.node_env=production
-com.firepress.image.node_version=20.19.2-alpine3.22
-com.firepress.image.schema_version=1.0
-com.firepress.image.user=node
-org.opencontainers.image.authors=Pascal Andy https://firepress.org/en/contact/
-org.opencontainers.image.created=
-org.opencontainers.image.description=Docker image for Ghost 5.112.0
-org.opencontainers.image.licenses=GNUv3 https://github.com/pascalandy/GNU-GENERAL-PUBLIC-LICENSE/blob/master/LICENSE.md
-org.opencontainers.image.revision=
-org.opencontainers.image.source=https://github.com/firepress-org/ghostfire
-org.opencontainers.image.title=Ghost
-org.opencontainers.image.url=https://hub.docker.com/r/devmtl/ghostfire/tags/
-org.opencontainers.image.vendor=https://firepress.org/Packages and Vulnerabilities (1204 package changes and 124 vulnerability changes)
Changes for packages of type
|
| Package | Versiondevmtl/ghostfire:edge |
Versionnode:20.19.2-alpine3.22 |
|
|---|---|---|---|
| ➖ | bash | 5.2.37-r0 |
|
| ➖ | brotli | 1.1.0-r2 |
|
| ➖ | brotli-libs | 1.1.0-r2 |
|
| ➖ | c-ares | 1.34.5-r0 |
|
| ➖ | curl | 8.14.1-r0 |
|
| ➖ | libcurl | 8.14.1-r0 |
|
| ➖ | libidn2 | 2.3.7-r0 |
|
| ➖ | libncursesw | 6.5_p20250503-r0 |
|
| ➖ | libpsl | 0.21.5-r3 |
|
| ➖ | libunistring | 1.3-r0 |
|
| ➖ | ncurses | 6.5_p20250503-r0 |
|
| ➖ | ncurses-terminfo-base | 6.5_p20250503-r0 |
|
| ➖ | nghttp2 | 1.65.0-r0 |
|
| ➖ | nghttp2-libs | 1.65.0-r0 |
|
| ➖ | readline | 8.2.13-r1 |
|
| ➖ | zstd | 1.5.7-r0 |
|
| ➖ | zstd-libs | 1.5.7-r0 |
Changes for packages of type generic (1 changes)
| Package | Versiondevmtl/ghostfire:edge |
Versionnode:20.19.2-alpine3.22 |
|
|---|---|---|---|
| ➕ | node | 20.19.2 |
Changes for packages of type github (1 changes)
| Package | Versiondevmtl/ghostfire:edge |
Versionnode:20.19.2-alpine3.22 |
|
|---|---|---|---|
| ➖ | node | 20.19.2-alpine3.22 |
Changes for packages of type golang (4 changes)
Changes for packages of type npm (1181 changes)
Update the `context` for Docker builds to use `.${{ env.SUB_DIR }}` for both Refactor Docker build cachingensuring correct build context.
Refactor Docker build caching to use multiple scopes (`-edge`, `-stable`, `-shared`) for better cache utilization and isolation. Add `BUILDKIT_INLINE_CACHE=1` to enable inline caching for improved build performance.
The `docker-entrypoint.sh` file is copied from the current build context, not from `/v5/docker-entrypoint.sh`. This commit corrects the path to `./docker-entrypoint.sh` to ensure the file is copied correctly.
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ghostv5.yml(4 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build_edge
🔇 Additional comments (4)
.github/workflows/ghostv5.yml (4)
188-188: Ensure build context path is correct
The Docker build context for the edge job has been changed to./${{ env.SUB_DIR }}. Verify thatenv.SUB_DIRis properly set (v5) and that, given the defaultworking-directory: "v5", this context resolves to the intended directory.
276-276: Ensure build context path is correct
The stable build context also now uses./${{ env.SUB_DIR }}—confirm consistency with the edge job and that the Dockerfile path remains valid under the configured working directory.
206-206: Approve inline cache argument for edge build
AddingBUILDKIT_INLINE_CACHE=1embeds cache metadata in the image layers, which is a solid practice. Ensure that downstream consumers of this image know to pull with BuildKit to leverage the inline cache.
300-300: Approve inline cache argument for stable build
IncludingBUILDKIT_INLINE_CACHE=1in the stable build is beneficial. Verify that any downstream build or deployment steps correctly leverage this inline cache for faster subsequent builds.
Update `ghostv5.yml` to use a more granular and efficient Docker build cache. - Change `shared` cache scope to `common` for better clarity. - Add `common` cache to `cache-to` for both `edge` and `stable` builds to ensure common layers are consistently cached. - Add `stable` cache to `cache-from` for `edge` builds to leverage existing stable layers.
|
nogo |
Summary by CodeRabbit