-
Notifications
You must be signed in to change notification settings - Fork 83
feat(docker): Add container image containing the CLP package, for Docker Compose integration (resolves #1164). #1166
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
Changes from 59 commits
8ea4529
4d402c1
adef439
9aa74ff
542da81
ce43d17
2c2ee50
75f88d9
414e1fb
0e9138a
912b678
dcc8a70
46ffa55
9db7ca9
d609987
1b3959d
1f13954
aceb39f
c49d8b4
099afc0
73ca1a0
a4317ea
806f2f8
1887626
20dcfb1
ddab8d1
92861b9
b39644e
c17a782
8ff64f2
1dfe706
47d0517
628ddae
23f1ef2
63a7ec3
61da837
227d6dd
e98bb8e
e6f1af5
860e5ef
4180739
6cfabd7
f1c566f
09539ae
b49daba
be2560e
44a2dc5
2ebbfe0
1254827
62cf06a
2f29228
c413a13
bb36035
ea4ce51
3c81014
e5a66cf
ff21c8e
cbea39b
a857701
7dfbcc5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,8 +1,10 @@ | ||||||||||||||
| name: "clp-execution-image-build" | ||||||||||||||
| description: "Builds a container image that contains the dependencies necessary | ||||||||||||||
| to run the CLP package." | ||||||||||||||
| name: "clp-build-runtime-image" | ||||||||||||||
| description: "Builds a container image to be used for running CLP." | ||||||||||||||
|
|
||||||||||||||
| inputs: | ||||||||||||||
| image_type: | ||||||||||||||
| description: "Type of image to build" | ||||||||||||||
| required: true | ||||||||||||||
|
Comment on lines
+5
to
+7
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Document allowed values for image_type and prefer validating them. The new input is great, but the contract isn’t explicit. Document the enum in-place and validate at runtime (see suggested validation in the Dockerfile selection step). - image_type:
- description: "Type of image to build"
+ image_type:
+ description: "Type of image to build. One of: execution, package."
required: true📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||
| image_registry: | ||||||||||||||
| default: "ghcr.io" | ||||||||||||||
| description: "Container image registry" | ||||||||||||||
|
|
@@ -17,11 +19,11 @@ inputs: | |||||||||||||
| required: false | ||||||||||||||
| platform_id: | ||||||||||||||
| description: "Platform ID of the container (e.g. ubuntu)" | ||||||||||||||
| required: true | ||||||||||||||
| required: false | ||||||||||||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no longer needed for building the new image |
||||||||||||||
| platform_version_id: | ||||||||||||||
| description: "Platform VERSION_ID / VERSION_CODENAME of the container | ||||||||||||||
| (e.g. jammy, focal, etc.)" | ||||||||||||||
| required: true | ||||||||||||||
| required: false | ||||||||||||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no longer needed for building the new image |
||||||||||||||
|
|
||||||||||||||
| runs: | ||||||||||||||
| using: "composite" | ||||||||||||||
|
|
@@ -45,20 +47,37 @@ runs: | |||||||||||||
| echo "REPOSITORY=$(echo '${{github.repository}}' | tr '[:upper:]' '[:lower:]')" \ | ||||||||||||||
| >> "$GITHUB_OUTPUT" | ||||||||||||||
|
|
||||||||||||||
| - name: "Update Metadata" | ||||||||||||||
| id: "meta" | ||||||||||||||
| - name: "Compute metadata" | ||||||||||||||
| id: "compute-meta" | ||||||||||||||
| shell: "bash" | ||||||||||||||
| run: | | ||||||||||||||
| base_path="./tools/docker-images" | ||||||||||||||
|
|
||||||||||||||
| if [[ "${{inputs.image_type}}" == "execution" ]]; then | ||||||||||||||
| platform="${{inputs.platform_id}}-${{inputs.platform_version_id}}" | ||||||||||||||
| dockerfile_path="$base_path/clp-execution-base-$platform/Dockerfile" | ||||||||||||||
| image_name="clp-${{inputs.image_type}}-$platform" | ||||||||||||||
| else | ||||||||||||||
| dockerfile_path="$base_path/clp-package/Dockerfile" | ||||||||||||||
| image_name="clp-${{inputs.image_type}}" | ||||||||||||||
| fi | ||||||||||||||
|
|
||||||||||||||
| echo "DOCKERFILE=$dockerfile_path" >> "$GITHUB_OUTPUT" | ||||||||||||||
| echo "IMAGE_NAME=$image_name" >> "$GITHUB_OUTPUT" | ||||||||||||||
|
|
||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||
| - name: "Extract GitHub Metadata" | ||||||||||||||
| id: "extract-gh-meta" | ||||||||||||||
| uses: "docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804" | ||||||||||||||
| with: | ||||||||||||||
| images: "${{inputs.image_registry}}/${{steps.sanitization.outputs.REPOSITORY}}\ | ||||||||||||||
| /clp-execution-x86-${{inputs.platform_id}}-${{inputs.platform_version_id}}" | ||||||||||||||
| /${{steps.compute-meta.outputs.IMAGE_NAME}}" | ||||||||||||||
|
|
||||||||||||||
| - name: "Build and Push" | ||||||||||||||
| if: "github.event_name != 'pull_request' && github.ref == 'refs/heads/main'" | ||||||||||||||
| uses: "docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4" | ||||||||||||||
| with: | ||||||||||||||
| context: "./" | ||||||||||||||
| file: "./tools/docker-images/\ | ||||||||||||||
| clp-execution-base-${{inputs.platform_id}}-${{inputs.platform_version_id}}/Dockerfile" | ||||||||||||||
| file: "${{steps.compute-meta.outputs.DOCKERFILE}}" | ||||||||||||||
| push: true | ||||||||||||||
| tags: "${{steps.meta.outputs.tags}}" | ||||||||||||||
| labels: "${{steps.meta.outputs.labels}}" | ||||||||||||||
| tags: "${{steps.extract-gh-meta.outputs.tags}}" | ||||||||||||||
| labels: "${{steps.extract-gh-meta.outputs.labels}}" | ||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since this is no longer just to build core, how about renaming it to something like
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i intentionally left the |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,28 +1,14 @@ | ||||||||||||||||||||||||||||||||||||||||||
| name: "clp-core-build" | ||||||||||||||||||||||||||||||||||||||||||
| name: "clp-artifact-build" | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/clp-core-build-containers/action.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/run-on-image/action.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".gitmodules" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "taskfile.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "taskfiles/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "tools/scripts/deps-download/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "!components/core/tools/scripts/lib_install/macos/**" | ||||||||||||||||||||||||||||||||||||||||||
| paths-ignore: &ignored_paths | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/*" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/ISSUE_TEMPLATE/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/macos/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "docs/**" | ||||||||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/clp-core-build-containers/action.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/run-on-image/action.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".gitmodules" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "taskfile.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "taskfiles/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "tools/scripts/deps-download/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "!components/core/tools/scripts/lib_install/macos/**" | ||||||||||||||||||||||||||||||||||||||||||
| paths-ignore: *ignored_paths | ||||||||||||||||||||||||||||||||||||||||||
| schedule: | ||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
10
to
12
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix actionlint error: alias in paths-ignore is invalid actionlint flags the alias on Line 11. Inline the list for push. push:
- paths-ignore: *ignored_paths
+ paths-ignore:
+ - ".github/*"
+ - ".github/ISSUE_TEMPLATE/**"
+ - "components/core/tools/scripts/lib_install/macos/**"
+ - "docs/**"📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint (1.7.7)11-11: "paths-ignore" section must be sequence node but got alias node with "" tag (syntax-check) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||
| # Run daily at 00:15 UTC (the 15 is to avoid periods of high load) | ||||||||||||||||||||||||||||||||||||||||||
| - cron: "15 0 * * *" | ||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -74,31 +60,31 @@ jobs: | |||||||||||||||||||||||||||||||||||||||||
| filters: | | ||||||||||||||||||||||||||||||||||||||||||
| centos_stream_9_image: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/**" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-artifact-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/*.sh" | ||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+63
to
64
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Filters watch a non-existent workflow path Filters reference .github/workflows/clp-artifact-build.yaml, but this file is clp-core-build.yaml. As-is, edits here won’t trigger filtered jobs. - - ".github/workflows/clp-artifact-build.yaml"
+ - ".github/workflows/clp-core-build.yaml"(Apply to all five occurrences in centos_stream_9_image, manylinux_2_28_x86_64_image, musllinux_1_2_x86_64_image, ubuntu_jammy_image, and clp filters.) Also applies to: 69-70, 75-76, 81-82, 87-88 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/docker-images/clp-env-base-centos-stream-9/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/centos-stream-9/**" | ||||||||||||||||||||||||||||||||||||||||||
| manylinux_2_28_x86_64_image: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/**" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-artifact-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/*.sh" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/manylinux_2_28/**" | ||||||||||||||||||||||||||||||||||||||||||
| musllinux_1_2_x86_64_image: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/**" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-artifact-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/*.sh" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86_64/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/musllinux_1_2/**" | ||||||||||||||||||||||||||||||||||||||||||
| ubuntu_jammy_image: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/**" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-artifact-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/*.sh" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/docker-images/clp-env-base-ubuntu-jammy/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/tools/scripts/lib_install/ubuntu-jammy/**" | ||||||||||||||||||||||||||||||||||||||||||
| clp: | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/actions/**" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-core-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".github/workflows/clp-artifact-build.yaml" | ||||||||||||||||||||||||||||||||||||||||||
| - ".gitmodules" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/cmake/**" | ||||||||||||||||||||||||||||||||||||||||||
| - "components/core/CMakeLists.txt" | ||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -520,3 +506,42 @@ jobs: | |||||||||||||||||||||||||||||||||||||||||
| .task/checksum/utils-cpp-lint-clang-tidy-* | ||||||||||||||||||||||||||||||||||||||||||
| build/lint-clang-tidy | ||||||||||||||||||||||||||||||||||||||||||
| key: "${{steps.cache-restore-lint-check-cpp-static-full.outputs.cache-primary-key}}" | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| package-image: | ||||||||||||||||||||||||||||||||||||||||||
| name: "package-image" | ||||||||||||||||||||||||||||||||||||||||||
| if: >- | ||||||||||||||||||||||||||||||||||||||||||
| !cancelled() && !failure() && ( | ||||||||||||||||||||||||||||||||||||||||||
| needs.filter-relevant-changes.outputs.ubuntu_jammy_image_changed == 'false' || | ||||||||||||||||||||||||||||||||||||||||||
| needs.ubuntu-jammy-deps-image.result == 'success' | ||||||||||||||||||||||||||||||||||||||||||
| ) | ||||||||||||||||||||||||||||||||||||||||||
| needs: | ||||||||||||||||||||||||||||||||||||||||||
| - "filter-relevant-changes" | ||||||||||||||||||||||||||||||||||||||||||
| - "ubuntu-jammy-deps-image" | ||||||||||||||||||||||||||||||||||||||||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not quite certain if this works if
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I'm not sure. We should probably test. I feel like that's why we used
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we could test more thoroughly, though what we have written should already work. see https://github.com/junhaoliao/clp/actions/runs/17405920984/workflow for a modification on an unrelated file, where |
||||||||||||||||||||||||||||||||||||||||||
| runs-on: "ubuntu-24.04" | ||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||
| - uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683" | ||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||
| submodules: "recursive" | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| - name: "Workaround actions/runner-images/issues/6775" | ||||||||||||||||||||||||||||||||||||||||||
| shell: "bash" | ||||||||||||||||||||||||||||||||||||||||||
| run: "chown $(id -u):$(id -g) -R ." | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||||||||||||
| - name: "Build the package" | ||||||||||||||||||||||||||||||||||||||||||
| uses: "./.github/actions/run-on-image" | ||||||||||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||||||||||
| OS_NAME: "ubuntu-jammy" | ||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||
| image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}" | ||||||||||||||||||||||||||||||||||||||||||
| use_published_image: >- | ||||||||||||||||||||||||||||||||||||||||||
| ${{needs.filter-relevant-changes.outputs.ubuntu_jammy_image_changed == 'false' | ||||||||||||||||||||||||||||||||||||||||||
| || (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}} | ||||||||||||||||||||||||||||||||||||||||||
| run_command: >- | ||||||||||||||||||||||||||||||||||||||||||
| CLP_CORE_MAX_PARALLELISM_PER_BUILD_TASK=$(getconf _NPROCESSORS_ONLN) task package | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| - uses: "./.github/actions/clp-build-runtime-image" | ||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||
| image_type: "package" | ||||||||||||||||||||||||||||||||||||||||||
| image_registry: "ghcr.io" | ||||||||||||||||||||||||||||||||||||||||||
| image_registry_username: "${{github.actor}}" | ||||||||||||||||||||||||||||||||||||||||||
| image_registry_password: "${{secrets.GITHUB_TOKEN}}" | ||||||||||||||||||||||||||||||||||||||||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i understand the added dependencies are not strictly "core" related but i believe some others here (e.g. unzip) are in a similar situation. we might want to split the package specific dependencies in anther refactoring PR, though i personally don't see too much benefit yet. any concerns / other ideas? |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -68,5 +68,15 @@ To clean up all build artifacts, run: | |
| task clean | ||
| ``` | ||
|
|
||
| ## Building a Docker image | ||
|
|
||
| To build a Docker image containing the CLP package, run: | ||
|
|
||
| ```shell | ||
| task docker-images:package | ||
| ``` | ||
|
|
||
| This will create a Docker image named `clp-package:dev`. | ||
|
|
||
|
Comment on lines
+71
to
+80
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) 🛠️ Refactor suggestion Clarify prerequisites, add a quick verification step, and document retag/push for Compose. Users need to know which container engine is required, how to sanity-check the image, and how to retag/push it for Compose scenarios. Add the following edits: ## Building a Docker image
-To build a Docker image containing the CLP package, run:
+Prerequisites: Docker installed and running (or Podman configured with Docker compatibility).
+
+To build a Docker image containing the CLP package, run:
```shell
task docker-images:package-This will create a Docker image named docs/src/dev-docs/building-package.md around lines 72 to 81: update the |
||
| [clp-issue-872]: https://github.com/y-scope/clp/issues/872 | ||
| [Task]: https://taskfile.dev/ | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |||||
|
|
||||||
| Before submitting a PR, ensure you've run our linting tools and either fixed any violations or | ||||||
| suppressed the warning. If you can't run the linting workflows locally, you can enable and run the | ||||||
| [clp-lint] and [clp-core-build] workflows in your fork. | ||||||
| [clp-lint] and [clp-artifact-build] workflows in your fork. | ||||||
|
|
||||||
| ## Requirements | ||||||
|
|
||||||
|
|
@@ -32,7 +32,7 @@ To also apply any automatic fixes: | |||||
| task lint:fix | ||||||
| ``` | ||||||
|
|
||||||
| [clp-core-build]: https://github.com/y-scope/clp/blob/main/.github/workflows/clp-core-build.yaml | ||||||
| [clp-artifact-build]: https://github.com/y-scope/clp/blob/main/.github/workflows/clp-artifact-build.yaml | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix broken link: file path doesn’t exist as written Repo still contains .github/workflows/clp-core-build.yaml; the doc links to clp-artifact-build.yaml. Update link or rename the workflow file in this PR—don’t ship a dead link. -[clp-artifact-build]: https://github.com/y-scope/clp/blob/main/.github/workflows/clp-artifact-build.yaml
+[clp-artifact-build]: https://github.com/y-scope/clp/blob/main/.github/workflows/clp-core-build.yaml📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the file should also has been renamed in the PR? could you double check?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: Length of output: 1083 @junhaoliao You're absolutely right! I apologize for the confusion. The workflow file was indeed renamed in this PR from ✓ The documentation link in Thank you for asking me to double-check! |
||||||
| [clp-lint]: https://github.com/y-scope/clp/blob/main/.github/workflows/clp-lint.yaml | ||||||
| [clp-issue-872]: https://github.com/y-scope/clp/issues/872 | ||||||
| [feature-req]: https://github.com/y-scope/clp/issues/new?assignees=&labels=enhancement&projects=&template=feature-request.yml | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -147,6 +147,16 @@ environment. | |
| tools/docker-images/clp-execution-base-ubuntu-jammy | ||
| ``` | ||
|
|
||
| ## clp-package | ||
|
|
||
| An image containing the CLP package. | ||
|
|
||
| * Path: | ||
|
|
||
| ```text | ||
| tools/docker-images/clp-package | ||
| ``` | ||
|
Comment on lines
+150
to
+158
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) Match other sections: add GH Packages link and pull command Keep the clp-package section consistent with the rest. ## clp-package
An image containing the CLP package.
+* [GitHub Packages page][clp-package]
+* Pull command:
+
+ ```bash
+ docker pull ghcr.io/y-scope/clp/clp-package:main
+ ```
+
* Path:
```text
tools/docker-images/clp-package+[clp-package]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-package In docs/src/dev-docs/tooling-containers.md around lines 150 to 158, the |
||
|
|
||
| [core-deps-centos-stream-9]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-centos-stream-9 | ||
| [core-deps-manylinux_2_28-x86_64]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-manylinux_2_28 | ||
| [core-deps-musllinux_1_2-x86_64]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-musllinux_1_2 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,6 +5,7 @@ shopt: ["globstar"] | |
|
|
||
| includes: | ||
| deps: "taskfiles/deps/main.yaml" | ||
| docker-images: "taskfiles/docker-images.yaml" | ||
| docs: "taskfiles/docs.yaml" | ||
| lint: "taskfiles/lint.yaml" | ||
| utils: "tools/yscope-dev-utils/exports/taskfiles/utils/utils.yaml" | ||
|
|
@@ -37,6 +38,7 @@ vars: | |
| {{default "" (env "CLP_CORE_MAX_PARALLELISM_PER_BUILD_TASK")}} | ||
|
|
||
| # Checksum files | ||
| G_PACKAGE_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/package.md5" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainUse G_PACKAGE_CHECKSUM_FILE consistently (avoid hard-coded path). package-tar still references the literal path; switch it to the new var to prevent drift. @@
package-tar:
@@
sources:
- - "{{.G_BUILD_DIR}}/package.md5"
+ - "{{.G_PACKAGE_CHECKSUM_FILE}}"
- "{{.TASKFILE}}"🏁 Script executed: #!/bin/bash
set -euo pipefail
# Expect no hard-coded references after the change
rg -n '{{\.G_BUILD_DIR}}/package\.md5' -g '!**/node_modules/**' || trueLength of output: 198 🏁 Script executed: #!/usr/bin/env bash
set -euo pipefail
# Verify no hard-coded references to the old path remain
rg -F "{{.G_BUILD_DIR}}/package.md5" -g '!**/node_modules/**' || echo "No hard-coded references found"Length of output: 208 Replace literal package.md5 path with G_PACKAGE_CHECKSUM_FILE in package-tar sources The @@ package-tar:
sources:
- - "{{.G_BUILD_DIR}}/package.md5"
+ - "{{.G_PACKAGE_CHECKSUM_FILE}}"
- "{{.TASKFILE}}"🤖 Prompt for AI Agents |
||
| G_WEBUI_CLIENT_NODE_MODULES_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/webui-client-node-modules.md5" | ||
| G_WEBUI_COMMON_NODE_MODULES_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/webui-common-node-modules.md5" | ||
| G_WEBUI_LOG_VIEWER_NODE_MODULES_CHECKSUM_FILE: | ||
|
|
@@ -94,7 +96,7 @@ tasks: | |
| env: | ||
| NODE_ENV: "production" | ||
| vars: | ||
| CHECKSUM_FILE: "{{.G_BUILD_DIR}}/{{.TASK}}.md5" | ||
| CHECKSUM_FILE: "{{.G_PACKAGE_CHECKSUM_FILE}}" | ||
| OUTPUT_DIR: "{{.G_PACKAGE_BUILD_DIR}}" | ||
| sources: | ||
| - "{{.G_BUILD_DIR}}/package-venv.md5" | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| version: "3" | ||
|
|
||
| tasks: | ||
| package: | ||
| vars: | ||
| SRC_DIR: "{{.ROOT_DIR}}/tools/docker-images/clp-package" | ||
| dir: "{{.SRC_DIR}}" | ||
| sources: | ||
| - "{{.G_PACKAGE_CHECKSUM_FILE}}" | ||
| - "{{.SRC_DIR}}/**/*" | ||
| deps: | ||
| - ":package" | ||
| cmds: | ||
| - "./build.sh" |
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.
🧹 Nitpick (assertive)
Clarify the action’s scope in the description.
Since this action now builds both execution and package runtime images, make that explicit in the description string for discoverability.
📝 Committable suggestion
🤖 Prompt for AI Agents