-
Notifications
You must be signed in to change notification settings - Fork 60
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
ci: use docker build workflow #18045
Conversation
* Add comment * Use tee for debug output * Use arc-runners in all jobs * Make build cache common * Add image-repository output * Don't use cache-to in final layer * Add missing `prepare` needs * Only verify node_modules existence * Quote outputs for multi-line * Re-add args-prep * Remove unused container-registry * Use JSON output for common * Compacted --arg list * Add merge queue qualifier for ci debug * Revert "Add merge queue qualifier for ci debug" This reverts commit 40522b1. * No run merge-queue on pull_request * Use 'ci debug' label for smaller tests * Add 'no tests' label support * updtae * Use cat | instead of jq * Back jq object * Move jq to top with build-args step * Change to line-by-line outputs * Add localrun * Try multi-line outputs * Use multi-line EOF for all multi-line * Go back to jq This reverts commit 106dfaf. * Use EOF multiline with jq * Use :cache tag for registry cache * Debug AWS * Debug AWS * Debug AWS (via env) * Remove disallowed action `describe-repositories` * Add prefix for clarity * Fix conditional on latter docker login * Add target to `name` of build/cache * No :cache * Revert "No :cache" This reverts commit cdb3761. * Test hard-coded caches * Use GHA cache * Use GHA cache * Use only build-cache-{to,from} directly from aws announcement * Remove unused prepare step in docker-build * inherit secrets from merge-queue * Use workflow name in concurrency group * Set cache-from to use announcement cache * Remove invalid option `enabled` * Fix cache-from reference to deps.cache-from output * Use cache-to with mode=min on final layer * Move buildx setup * Add new builder instance * Set push=true * Add tag * Revert "Add tag" This reverts commit bcfa979. * Single-line GHA cache * Add manual dummy tag * Unrestricted max-parallel * Use `builder` option * Use s3 cache * Label for test nothing * Revert "Add manual dummy tag" This reverts commit 02da0b9. * Remove GHA step * Revert "Set push=true" This reverts commit e5420de. * Add base-deps target build * Add exit 1 after base-deps for debugging * Change label name to `test nothing` * target name fix * Remove AWS cred configuration (use runner perms) * Set mode=max in cache-to for s3 * Split to multiple lines, and add comment * Remove exit 1 debug * Revert "Add new builder instance" This reverts commit a5bd5fb. * Revert "Use `builder` option" This reverts commit 341e024. * cache-from ECR in addition to S3 * retry ECR cache fater AWS login changes * Debug inputs for docker build * Use conclusion instead of success=true * More debug (entire dependencies) * Revert "retry ECR cache fater AWS login changes" This reverts commit 7934962. * Single-line build-cache-from * Revert "Remove exit 1 debug" This reverts commit cf1b2b1. * Use `builder` option and new builder instance This reverts commit 0887a64. * Revert to known-good * Revert "Revert to known-good" This reverts commit 0981584. * Remove d.sh * Use builder action and its outputs * Adapt targets * Remove list of targets * Simplify build-cache outputs * Revert generate-chunks.sh to main * Revert Dockerfile to main * Revert pullrequest.yml to main * Set cache mode in step * Revert "Set cache mode in step" This reverts commit cd5cadb. * Cleanup * Use manual builder * Postfix setup buildx * Add debug * Disable localrun for prepare arguments * Remove custom buildx builder * Revert "Disable localrun for prepare arguments" This reverts commit db415c6. * Fix localrun check * Remove Debug * Remove 'exit 1' * Use env for creds templating * Debug creds * Revert "Debug creds" This reverts commit 018697f. * Use password as output * Use amazon-ecr-login for Docker login * Add Docker login after ECR login * Fix references to registry from ecr-login * Remove AWS login debug step * Use AWS regioun * Use AWS regioun * Use AWS regioun * Ignore docker login failures * Re-add Debug AWS user * Set no-mask for ecr-login * Re-add cred prep * Use creds outputs for docker login * Use creds outputs for docker login * creds output * Move creds * Remove everything but base and login * Don't log in with cnofigure-aws-credentials * Remove user/pass in docker login * Remove masking * Remove creds step * Don't continue on error * Revert "Remove everything but base and login" This reverts commit 44b0573. * Adjust build job working setup * Remove input debug * Debug common config after creation * Revert near-all to 6896fcf * Re-add dependency builds * Remove non-existing step output debug * Revert "Revert near-all to 6896fcf" This reverts commit 8ad1f87. * Remove build-prefixes * Remove unnecessary localrun envs * Remove unused ecr-login output * Remove unused meta output * Use more S3 cache options * More cache and shared config * Add missing outputs * Add missing env vars * Update with outputs * Fixed image-repository output passing * Don't do matrix * Revert "Don't do matrix" This reverts commit 234dd18. * Add output-base step * ADd debug * single-line * Move outputs to debug * mapping * Shadowing * Move bucket to env * Attempt aws bucket * Revert "Attempt aws bucket" This reverts commit 4babcbf. * Revert "Move bucket to env" This reverts commit f00f0d2. * Spacing * Copy common to build to avoid passing outputs * Set common build cache options as top-level env * Use global env in common config * Make cache prefix have mode=max * Remove common config step; use global env and prep outputs * Set AWS_REGION env * don't push dependency builds * fix: secret bucket name * Add static-base layer * Add multiple dependency builds * Add codegen to Dockerfile * Simpler multi-line output * Debug prepare outputs * Use image-version not image-tag for Playwright * Remove v*-focal from version * Compat PLAYWRIGHT_VERSION * Use busybox for build summary * Set CI=true * Set verbose Nx logging env * Comment export-build image * No mode=* on cache-from config * Add more common cache-from * Don't ignore some .git stuff in .dockerignore * Don't cloud-cache codegen * Get cache for build * set mode=max in cache-prefix * fix: codegen cache name * Add codegen step before build * Don't run unnecessary codegen in get-cache * Debug comments * fix: skipping codegen negation * Revert get-cache to main * Revert Dockerfile to main * Add static-base target * Updated env for Nx * Do codegen in Dockerfile * Don't export NX_CLOUD_ACCESS_TOKEN * Name cache step * Name cache step * Remove codegen * Postfix app for repository * Remove yarn install cache mount * Revert "Remove yarn install cache mount" This reverts commit fc82f17. * Add deps to cache-from * Add priority and conditional enable * Add comment on docs * Remove set-cache-url action * Remove redundant env * Use runs-on cache * Revert merge-queue.yml to main * Comment on docker-login * Make 'test everything' effective with 'ci debug' * Fix typo in conditional * Don't let `ci debug` override `test everything` * Respect `test everything` when `ci debug` * Don't let `ci debug` override `test everything` (generate-chunks) * Don't let `ci debug` override `test everything` (generate-chunks) * Don't try cache save unless it ran * typo: Restore (not save) cache before codegen * Fix cache-hit logic * Rename save for consistency * Unpack generated files * Update codegen step names * Rename build steps/jobs to Docker build (to avoid confusion with code `build`) * Set app-specifc build-args * Safer outputs in set-matrix * typo: missing $ before variable name * Make jq exit on empty output * typo: missing $ before variable name * Revert .dockerignore to main * Use static dockerfile * Use matrix for deps building * Use build-matrix outputs/id * Use dynamic deps matrix * Don't debug aws on localrun * set -x when matrix-building * Use default task runner to build without Nx Cloud cache (from runs-on/cache tar) * Use --error-unmatch for git ls-files to prevent empty output * Move app-args prep to top of build job * Robustly find `.sourceRoot` (with -x debug) * Add restore-keys and use refs/sha for key * Fail in build job if restoring generated files cache failed
Warning Rate limit exceeded@busla has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 21 minutes and 54 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughThis pull request updates several GitHub Actions workflows and related scripts to restructure the Docker image build process. The workflow files have modified input parameters and job configurations: the Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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
|
View your CI Pipeline Execution ↗ for commit 4d0bae3.
☁️ Nx Cloud last updated this comment at |
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.
Actionable comments posted: 0
🧹 Nitpick comments (3)
scripts/ci/generate-chunks.sh (1)
20-21
: Enhanced CI Debug Branch Handling:
The newly added condition checks ifCI_DEBUG
is true whileTEST_EVERYTHING
is not true, and then outputs a hard-coded JSON array of project names. Please confirm that the JSON array format (notably the embedded comma‐separated list in one of the items) meets your intended debugging requirements..github/workflows/docker.yml (2)
96-111
: Refactored Docker Build-Args Preparation Step:
This step now retrieves the Node and Playwright image versions and outputs multi-line build arguments usingtee
. Note the inline comment “Duplicate for compatability”—consider updating the spelling to “compatibility” for clarity. Overall, the structure is clear and modular.🧰 Tools
🪛 actionlint (1.7.4)
98-98: shellcheck reported issue in this script: SC2153:info:2:21: Possible misspelling: NODE_IMAGE_VERSION may not be assigned. Did you mean node_image_version?
(shellcheck)
301-319
: App-Specific Build-Args Preparation:
This step gathers project-specific settings (like the source root fromproject.json
) and forms build arguments accordingly. Consider adding error handling or defaults in case.sourceRoot
is absent to avoid potential issues.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/docker.yml
(6 hunks).github/workflows/push.yml
(1 hunks)scripts/ci/generate-chunks.sh
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`scripts/**/*`: "Confirm that the code adheres to the follow...
scripts/**/*
: "Confirm that the code adheres to the following:
- Script efficiency, readability, and maintainability.
- Usage of environmental variables and configuration files for flexibility.
- Integration with NX workspace utilities and commands."
scripts/ci/generate-chunks.sh
🪛 actionlint (1.7.4)
.github/workflows/docker.yml
86-86: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
98-98: shellcheck reported issue in this script: SC2153:info:2:21: Possible misspelling: NODE_IMAGE_VERSION may not be assigned. Did you mean node_image_version?
(shellcheck)
180-180: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
217-217: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
284-284: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: prepare / install
🔇 Additional comments (21)
.github/workflows/docker.yml (18)
4-4
: Updated Trigger Comment for Debug Mode:
The comment now specifies that the workflow can be triggered by labeling a pull request with “ci debug” instead of “docker build,” which improves clarity in the context of the new CI workflow.
21-24
: Added 'build-args' Input Parameter:
A new optional input parameterbuild-args
has been introduced in theworkflow_call
section. This enables passing additional Docker build arguments. Please verify that its description and type match your intended usage.
35-38
: Included 'build-args' in Workflow Dispatch:
The manual trigger (workflow_dispatch
) now supports abuild-args
input, ensuring consistency with the workflow_call configuration. This addition should enhance flexibility during manual runs.
45-47
: Improved Concurrency Group Naming:
The concurrency group now incorporates the workflow name, head ref (or run ID), and event name, which should help uniquely identify concurrent runs. Please verify that this naming pattern meets your coordination needs.
53-80
: Enhanced Environment Variables for Caching and Build:
This block introduces several new environment variables—such asNX_CLOUD_ACCESS_TOKEN
,NX_TASKS_RUNNER
, and various AWS S3 caching configurations—to support Docker build caching and improved build metadata. Ensure that all referenced secrets (e.g.,S3_DOCKER_CACHE_BUCKET
,vars.AWS_REGION
) are correctly configured in your repository and CI environment.
85-86
: Updated Job Trigger Condition and Runner Label:
Theprepare
job now runs when the event is not a pull request or when the pull request carries the “ci debug” label, and it is configured to run on the custom runner labeledarc-runners
. Please confirm that the custom runner label is properly registered in your CI configuration (and in actionlint if applicable).🧰 Tools
🪛 actionlint (1.7.4)
86-86: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
88-92
: Refined Outputs for Build Matrix:
Outputs in theprepare
job have been restructured to includebuild-matrix
,deps-matrix
, andbuild-args
. These changes help standardize the data passed to downstream jobs.
113-147
: Enhanced Build Matrix Creation:
The logic to create the build matrix now leverages conditions based on the “ci debug” and “test everything” labels and falls back to a representative subset if no projects are specified. Please verify that the splitting of the comma-separated project string and the subsequent JSON construction usingjq
produces the expected matrix format.
148-164
: Updated Dependencies Matrix Generation:
The deps matrix is generated by grepping for targets containing “base” from the Dockerfile and then usingjq
to format the output. Ensure that the regular expression works reliably across different Dockerfile formats.
166-177
: Added Debug Outputs Step:
A new step to print the outputs of previous steps (args-prep
,build_matrix
, anddeps_matrix
) has been added. This will be valuable for troubleshooting.
178-198
: Codegen Job Adjustments:
Thecodegen
job has been updated to include steps for checking out the repository, setting up Node and Yarn, and handling cache restoration and saving using the latest cache actions. Please verify that the caching keys and environment configurations continue to align with your overall build strategy.🧰 Tools
🪛 actionlint (1.7.4)
180-180: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
216-222
: Updated Docker-Build Dependencies Job:
Thedeps
job now runs onarc-runners
and uses a matrix constructed from thedeps-matrix
output. As with other custom runner labels, ensure thatarc-runners
is properly configured in your CI environment.🧰 Tools
🪛 actionlint (1.7.4)
217-217: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
228-235
: Verify Debug Inputs in Dependencies Job:
The “Debug inputs” step outputs thematrix
variable. Please double-check that this correctly reflects the matrix derived from thedeps-matrix
output.
255-265
: Set up Docker Buildx:
This step configures Docker Buildx using a driver option that specifies a Buildkit image from your AWS ECR repository. Confirm that the referenced image (moby/buildkit:buildx-stable-1
) is current and available.
267-281
: Dependencies Docker Build Step:
The step that builds (and caches) dependency layers now usesdocker/build-push-action@v6
with explicit cache-from and cache-to settings drawn from environment variables. This should improve build speed if caching behaves as expected.
282-292
: New Build Job for Docker Images:
The newly addedbuild
job processes projects defined in thebuild-matrix
output. It is critical that the custom runner label (arc-runners
) is correctly set up and that all dependencies (from theprepare
,deps
, andcodegen
jobs) are reliably passed along.🧰 Tools
🪛 actionlint (1.7.4)
284-284: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
342-365
: Enhanced Image Metadata Generation:
The image metadata step now adds a new raw tag with a priority setting for the merge commit SHA. Verify that bothinputs.version
andgithub.event.pull_request.merge_commit_sha
are reliably populated in your environment to ensure tagging consistency.
383-404
: Final Docker Build and Push Step:
The Docker build step now combines build arguments from multiple sources and sets caching parameters for a final image build. Ensure that the secret (nx_cloud_access_token
) is correctly injected and that the cache keys match your desired caching strategy..github/workflows/push.yml (3)
258-264
: Docker-build Job Setup in Push Workflow:
Thedocker-build
job is configured to run on the custom runnerarc-docker
with a 45‑minute timeout and only executes if a build chunk is available. Please ensure that thearc-docker
label is correctly set up and recognized in your CI environment.🧰 Tools
🪛 actionlint (1.7.4)
262-262: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
315-346
: Docker Build Arguments Preparation in Push Workflow:
This step constructs additional Docker build arguments, including handling the repository URL extraction and appending the NX cloud access token as a secret. The implementation is clear; just verify that all referenced environment variables, especiallyDOCKER_BASE_IMAGE_REGISTRY
, are defined.
356-362
: Consolidated Docker Build Step:
The Docker build process has been streamlined by delegating to an external workflow (install.yml
). This consolidation reduces complexity in the push workflow. Ensure that the external workflow correctly processes the passed parameters (projects
andversion
).
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.
Look forward to seeing this in effect 🤩
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.
Actionable comments posted: 0
🧹 Nitpick comments (3)
.github/workflows/docker.yml (3)
113-147
: Matrix Creation for Build Step: The script generates a build matrix by filtering project files (project.json
) usinggit ls-files
,cat
, andjq
. The inline filtering (usingselect(... | if (...) then IN(...) else true end)
) is clever but quite complex. Consider adding error handling or comments to clarify:
- What happens if no
project.json
files are found.- Any assumptions about the format or content of these JSON files.
166-177
: Debug Outputs Caution: The "Debug outputs" step prints out several internal variables. While this is useful for diagnostics, please ensure that no sensitive information is logged during normal CI runs.
301-319
: Application-Specific Build-Args Preparation: This step extracts and formats build arguments based on the project’sproject.json
file. In particular, the use of ajq
command with a regex in thesub("/src ?"; "")
call should be verified for correctness. Adding inline comments for clarity on the expected format of.sourceRoot
would aid future maintainability.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/docker.yml
(6 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/docker.yml
86-86: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
180-180: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
217-217: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
284-284: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: prepare / install
🔇 Additional comments (12)
.github/workflows/docker.yml (12)
4-4
: Trigger Label Update: The trigger comment now indicates that the workflow can be triggered by labeling a pull request with"ci debug"
. Ensure that all related documentation and any downstream processes correctly reference this updated trigger label.
21-24
: New Input Parameter for Workflow Call: The addition of thebuild-args
input (with description "Additional build-args (newline separated)") forworkflow_call
improves flexibility in passing extra build parameters. Verify that all downstream steps interpret and utilize these arguments as expected.
35-38
: New Input Parameter for Workflow Dispatch: Similarly, thebuild-args
input has been added to the manual dispatch trigger. Ensure that the behavior is consistent with theworkflow_call
input and that any consuming actions are updated accordingly.
45-46
: Enhanced Concurrency Group Naming: The updated concurrency group expression now incorporates the workflow name, head reference (or run ID), and event name. This improves clarity in identifying concurrent runs.
53-79
: Environment Variables for Caching and NX Cloud: New environment variables have been introduced (e.g.,NX_CLOUD_ACCESS_TOKEN
,NX_TASKS_RUNNER
,AWS_CACHE_PREFIX
,AWS_CACHE_FROM_COMMON
, andAWS_CACHE_TO_COMMON
) to support Docker build caching and integrate with NX Cloud. Please ensure that:
- Secrets (like
NX_CLOUD_ACCESS_TOKEN
and AWS keys) are handled securely.- The added variables are adequately documented for future maintenance.
86-86
: Runner Label 'arc-runners' Validation: The job in theprepare
section uses the runner label"arc-runners"
, which isn’t among the default GitHub Actions labels. If this is a custom self-hosted runner label, ensure that youractionlint.yaml
(or equivalent configuration) lists it; otherwise, consider switching to a supported label.🧰 Tools
🪛 actionlint (1.7.4)
86-86: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
96-112
: Docker Build-Args Preparation Step: This step prepares critical build arguments (e.g.,node_image_version
andplaywright_image_version
) and outputs them using a multi-line (here-document) approach. The implementation is clear—just confirm that the output formatting (especially with here-documents) meets the downstream parsing requirements.
148-164
: Matrix Creation for Dependencies Step: This step builds the dependency matrix by grepping for targets in the Dockerfile (using a regex with a positive lookbehind). Please verify that the regex(?<= AS )\S*\bbase\b\S*$
correctly captures all intended targets without accidentally including unwanted ones.
217-217
: Runner Label 'arc-docker' for Dependencies Job: Thedeps
job uses the runner label"arc-docker"
, which, like"arc-runners"
, is not a standard label. Confirm that this label is intentional (i.e., that you are using a custom self-hosted runner) and that your runner configuration is updated accordingly.🧰 Tools
🪛 actionlint (1.7.4)
217-217: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
284-284
: Runner Label 'arc-docker' for Build Job: Similar to the dependencies job, the Docker build job specifies"arc-docker"
as its runner. Ensure this custom label is correctly configured, or update it to a supported label if necessary.🧰 Tools
🪛 actionlint (1.7.4)
284-284: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
342-366
: Generate Image Metadata Step: This step utilizesdocker/metadata-action
to generate image metadata with multiple tagging strategies (including semver, SHA, and a raw tag for the merge commit SHA). Please verify that:
- The merge commit SHA and the optional
inputs.version
lead to the expected tag structure.- The conditionals (
enable=${{ !!inputs.version }}
) behave as intended wheninputs.version
is missing.
383-404
: Docker Build and Push Step: This final step aggregates build arguments from several sources (fromneeds.prepare.outputs.build-args
, app-specific arguments, andinputs.build-args
) and configures caching options for the final image. Double-check that:
- The precedence of build arguments is intentional.
- The caching keys (especially those under
cache-from
andcache-to
) correctly leverage the AWS caching variables.
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/push.yml (1)
230-237
: Enhanced "Prepare Docker targets" Step with JSON Output
The updated step renames the target preparation from "Prepare docker build targets" to "Prepare Docker targets" and now calls the build-specific script (generate-chunks.sh build
). The step formats the output as a JSON object (i.e.{"projects":$CHUNKS}
) for downstream consumption. Please verify that this JSON structure matches what the external workflow expects. Also, consider adding error handling or an explicit check ifCHUNKS
is empty or malformed to avoid potential downstream issues.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/push.yml
(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: prepare / install
🔇 Additional comments (1)
.github/workflows/push.yml (1)
253-261
: Streamlined "docker-build" Job Using External Workflow
The docker-build job has been refactored to conditionally run based onneeds.prepare.outputs.BUILD_CHUNKS
and now leverages an external workflow (.github/workflows/docker.yml
). Parameters forprojects
andversion
are passed from the prepare job outputs, which improves maintainability and reusability of the build logic. Ensure that the condition correctly filters out cases where no build chunks are available—ifBUILD_CHUNKS
might be an empty string or a falsy JSON object, you might want to use an explicit check (e.g. comparing against an empty array). Also, the use of template expressions here (e.g.${{ needs.prepare.outputs.DOCKER_TAG }}
) is consistent with earlier recommendations.
Affected services are: Deployed services: . |
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.
Actionable comments posted: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/pullrequest.yml
(1 hunks).github/workflows/push.yml
(2 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/pullrequest.yml
233-233: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
🔇 Additional comments (2)
.github/workflows/push.yml (2)
230-238
: Ensure Consistent JSON Structure for Build ChunksIn the "Prepare Docker targets" step, the script captures build chunks using
generate-chunks.sh
and outputs them as a JSON object with the keyprojects
. Please double-check that the generated$CHUNKS
is a valid JSON array and that wrapping it in{"projects":$CHUNKS}
meets downstream expectations. A brief inline comment explaining the JSON structure might also aid future maintainers.
252-261
: Confirm Parameter Consistency in Docker-Build StepThe
docker-build
step now passes parameters from theprepare
job outputs:
projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }}
version: ${{ needs.prepare.outputs.DOCKER_TAG }}
Please ensure that these output names precisely match what is defined in the
prepare
job (especiallyDOCKER_TAG
, which the static analysis hints might be missing). Note that a previous reviewer suggested using environment variables (e.g.,${{ env.AFFECTED_PROJECTS }}
and${{ DOCKER_TAG }}
) for consistency. If the change to using outputs is intentional and correct, it would be good to update documentation or inline comments to explain the rationale.
.github/workflows/pullrequest.yml
Outdated
docker-build: | ||
if: ${{ needs.prepare.outputs.BUILD_CHUNKS && needs.prepare.outputs.DEPLOY_FEATURE == 'true' }} | ||
needs: | ||
- prepare | ||
uses: ./.github/workflows/docker.yml | ||
with: | ||
projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }} | ||
version: ${{ needs.prepare.outputs.DOCKER_TAG }} | ||
|
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.
Verify the New Docker-Build Job Configuration
The newly added docker-build
job is well structured and clearly separates its responsibilities by offloading the Docker build logic to the external workflow (docker.yml
). However, please verify that the output property DOCKER_TAG
exists in the prepare
job’s outputs. The static analysis hint indicates that this property might not be defined, which could lead to runtime failures. Also, confirm that the condition using needs.prepare.outputs.DEPLOY_FEATURE == 'true'
correctly reflects your deployment criteria.
🧰 Tools
🪛 actionlint (1.7.4)
233-233: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/docker.yml (1)
243-251
: Consolidate Shell Output Redirections
In the “Gather apps” step, multipleecho
statements write separately to$GITHUB_ENV
. For improved efficiency and readability, consider consolidating these into a single redirection block (e.g., using{ ... } >> "$GITHUB_ENV"
).🧰 Tools
🪛 actionlint (1.7.4)
245-245: shellcheck reported issue in this script: SC2129:style:6:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects
(shellcheck)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.github/workflows/docker.yml
(8 hunks).github/workflows/pullrequest.yml
(2 hunks).github/workflows/push.yml
(3 hunks)scripts/ci/Dockerfile
(6 hunks)scripts/ci/generate-docker-chunks.sh
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- scripts/ci/Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
`scripts/**/*`: "Confirm that the code adheres to the follow...
scripts/**/*
: "Confirm that the code adheres to the following:
- Script efficiency, readability, and maintainability.
- Usage of environmental variables and configuration files for flexibility.
- Integration with NX workspace utilities and commands."
scripts/ci/generate-docker-chunks.sh
🪛 actionlint (1.7.4)
.github/workflows/pullrequest.yml
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
241-241: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
.github/workflows/docker.yml
148-148: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
203-203: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
245-245: shellcheck reported issue in this script: SC2129:style:6:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects
(shellcheck)
🔇 Additional comments (10)
scripts/ci/generate-docker-chunks.sh (1)
36-41
: JSON Key Renaming – Validate Downstream Impact
The JSON object now uses the key"project"
(instead of"projects"
) when outputting data. Please ensure that any downstream scripts or workflows (for example, those consuming the JSON array in the Docker build workflows) have been updated accordingly to parse this new key structure..github/workflows/pullrequest.yml (2)
51-59
: Runner Label “arc-runners” Verification
The newly addeddebug
job (lines 51–59) specifiesruns-on: arc-runners
. Confirm that this custom label is correctly configured in your runner setup or update your actionlint configuration if it is intended as a self-hosted runner label.🧰 Tools
🪛 actionlint (1.7.4)
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
234-242
: Docker-Build Job Configuration Check
Thedocker-build
job now uses an external workflow (docker.yml
) and passes inputs from theprepare
job (namely,BUILD_CHUNKS
andDOCKER_TAG
). Please verify that these outputs are always defined and that the conditionneeds.prepare.outputs.DEPLOY_FEATURE == 'true'
correctly reflects your deployment criteria.🧰 Tools
🪛 actionlint (1.7.4)
241-241: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
.github/workflows/docker.yml (4)
17-21
: Workflow Input Enhancement for Projects
The input forprojects
is now documented as a JSON array of project objects. This structured approach should improve downstream parsing but make sure that any previous parsers expecting a comma-separated list are updated to handle the new format.
70-72
: Updated AWS_CACHE_FROM_COMMON Parameter
TheAWS_CACHE_FROM_COMMON
variable now includesname=deps-cache
. Please confirm that the caching mechanism works as expected with this change and that it aligns with the new Docker build caching strategy.
148-149
: Custom Runner Label “arc-docker” in ‘deps’ Job
Thedeps
job now runs onarc-docker
. Since static analysis hints flag this label as unknown, ensure that this label is properly registered (or that your custom runner configuration accounts for it) so that the job executes as expected.🧰 Tools
🪛 actionlint (1.7.4)
148-148: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
202-203
: Custom Runner Label “arc-docker” in ‘build’ Job
Similarly, thebuild
job specifiesruns-on: arc-docker
. Verify that your CI setup recognizes this label or update the configuration if needed to avoid potential runner selection issues.🧰 Tools
🪛 actionlint (1.7.4)
203-203: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/push.yml (3)
75-82
: Renaming and Consistency of Build Chunks Output
The prepare job now outputsBUILD_CHUNKS
(renamed from a previous key) fromsteps.build_map.outputs.CHUNKS
. Please ensure that all downstream jobs consuming this output (including thedocker-build
job) correctly reference the updated value and naming convention.🧰 Tools
🪛 actionlint (1.7.4)
79-79: property "git_nx_base" is not defined in object type {build_map: {conclusion: string; outcome: string; outputs: {string => string}}; deploy_map: {conclusion: string; outcome: string; outputs: {string => string}}; docker_tags: {conclusion: string; outcome: string; outputs: {string => string}}; git_nx_head: {conclusion: string; outcome: string; outputs: {string => string}}; nodejs_image: {conclusion: string; outcome: string; outputs: {string => string}}; set-branch-env: {conclusion: string; outcome: string; outputs: {string => string}}; slack: {conclusion: string; outcome: string; outputs: {}}; test_projects: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
82-82: property "calculate_node_modules_hash" is not defined in object type {build_map: {conclusion: string; outcome: string; outputs: {string => string}}; deploy_map: {conclusion: string; outcome: string; outputs: {string => string}}; docker_tags: {conclusion: string; outcome: string; outputs: {string => string}}; git_nx_head: {conclusion: string; outcome: string; outputs: {string => string}}; nodejs_image: {conclusion: string; outcome: string; outputs: {string => string}}; set-branch-env: {conclusion: string; outcome: string; outputs: {string => string}}; slack: {conclusion: string; outcome: string; outputs: {}}; test_projects: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
254-263
: External Workflow Invocation in Docker-Build Job
Thedocker-build
job invokes the external Docker workflow (docker.yml
) and passes inputs viaprojects: ${{ needs.prepare.outputs.BUILD_CHUNKS }}
and
version: ${{ needs.prepare.outputs.DOCKER_TAG }}
. Confirm that the external workflow is designed to receive a JSON array forprojects
and that the version/tag parameter is handled properly. This ensures consistency across your Docker build pipeline.
265-275
: Helm-Docker-Build Job Dependency and Label Consistency
Thehelm-docker-build
job now depends ondocker-build
and uses outputs likeDOCKER_TAG
andNODE_IMAGE_VERSION
from the prepare job. Verify that these dependencies accurately reflect your sequential build and deploy logic and that there is consistency in label usage (e.g., the use ofarc-runners
for this job).🧰 Tools
🪛 actionlint (1.7.4)
269-269: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
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.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
.github/workflows/push.yml (1)
75-80
:⚠️ Potential issueEnsure Consistent Output Variable Naming
The prepare job’s outputs still useBUILD_CHUNKS
on the left-hand side even though the PR objectives and enriched summary indicate a rename toCHUNKS
. This inconsistency may lead to downstream references being mismatched.Consider applying this diff:
- BUILD_CHUNKS: ${{ steps.build_map.outputs.CHUNKS }} + CHUNKS: ${{ steps.build_map.outputs.CHUNKS }}🧰 Tools
🪛 actionlint (1.7.4)
79-79: property "git_nx_base" is not defined in object type {build_map: {conclusion: string; outcome: string; outputs: {string => string}}; deploy_map: {conclusion: string; outcome: string; outputs: {string => string}}; docker_tags: {conclusion: string; outcome: string; outputs: {string => string}}; git_nx_head: {conclusion: string; outcome: string; outputs: {string => string}}; nodejs_image: {conclusion: string; outcome: string; outputs: {string => string}}; set-branch-env: {conclusion: string; outcome: string; outputs: {string => string}}; slack: {conclusion: string; outcome: string; outputs: {}}; test_projects: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
🧹 Nitpick comments (1)
.github/workflows/push.yml (1)
232-238
: Review Shell Command Output Handling for Docker Chunks
The script block that generates Docker build targets viagenerate-docker-chunks.sh
is clear. As an optional improvement, consider quoting the CHUNKS variable in the output (e.g. usingecho "CHUNKS: '$CHUNKS'"
) to robustly handle any whitespace or unexpected values.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/push.yml
(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: linting (application-templates-social-insurance-administration-additional-support-for-the-elderly...
🔇 Additional comments (2)
.github/workflows/push.yml (2)
245-248
: Verify Variable Assignment Consistency in Deployment Targets
In the “Prepare deployment targets” step, the variableCHUNKS
is re-assigned usingsteps.build_map.outputs.CHUNKS
. Please confirm that this assignment aligns with the newly intended naming for build chunks.
264-269
: Confirm Dependency on Docker Build Job
Thehelm-docker-build
job now explicitly depends on thedocker-build
job by listing it among itsneeds
. This change ensures that the Helm-related Docker build runs only after the Docker images have been built. Verify that this dependency order aligns with the overall deployment and testing strategy.🧰 Tools
🪛 actionlint (1.7.4)
269-269: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/push.yml
Outdated
echo AFFECTED_PROJECTS="$AFFECTED_PROJECTS" >> "$GITHUB_ENV" | ||
echo DOCKER_TYPE="$DOCKER_TYPE" >> "$GITHUB_ENV" | ||
echo APP_HOME="$APP_HOME" >> "$GITHUB_ENV" | ||
echo APP_DIST_HOME="$APP_DIST_HOME" >> "$GITHUB_ENV" | ||
continue-on-error: true | ||
|
||
- uses: actions/checkout@v4 | ||
if: steps.gather.outcome == 'success' | ||
|
||
- name: Restore generated files | ||
uses: runs-on/cache/restore@v4 | ||
id: restore-generated-files-cache | ||
with: | ||
path: | | ||
${{ env.GENERATED_FILES }} | ||
key: generated-files-${{ github.sha }} | ||
|
||
- name: Extract generated files | ||
run: | | ||
tar -xzvf ${{ env.GENERATED_FILES }} | ||
|
||
- name: Docker login to ECR repo | ||
if: steps.gather.outcome == 'success' | ||
run: ./scripts/ci/docker-login-ecr.sh | ||
env: | ||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
|
||
- name: Prepare Docker build arguments | ||
id: dockerargs | ||
if: steps.gather.outcome == 'success' | ||
env: | ||
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | ||
GIT_COMMIT_SHA: ${{ github.sha }} | ||
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | ||
run: | | ||
set -x | ||
# Strip protocol prefix and .git postfix | ||
SERVER_URL="${{ github.server_url }}/${{ github.repository }}" | ||
SERVER_URL="${SERVER_URL#*://}" | ||
SERVER_URL="${SERVER_URL%.git}" | ||
build_args=( | ||
--build-arg="DOCKER_IMAGE_REGISTRY=${DOCKER_BASE_IMAGE_REGISTRY}" | ||
--build-arg="NODE_IMAGE_VERSION=${NODE_IMAGE_VERSION}" | ||
--build-arg="GIT_BRANCH=${GIT_BRANCH}" | ||
--build-arg="GIT_COMMIT_SHA=${GIT_COMMIT_SHA}" | ||
--build-arg="GIT_REPOSITORY_URL=${SERVER_URL}" | ||
--build-arg="NX_PARALLEL=${NX_PARALLEL}" | ||
--build-arg="NX_MAX_PARALLEL=${NX_MAX_PARALLEL}" | ||
--build-arg="NX_TASKS_RUNNER=ci" | ||
) | ||
export EXTRA_DOCKER_BUILD_ARGS="${build_args[*]}" | ||
echo "EXTRA_DOCKER_BUILD_ARGS=${EXTRA_DOCKER_BUILD_ARGS}" >> "${GITHUB_ENV}" | ||
|
||
# Create a temporary file with the NX_CLOUD_ACCESS_TOKEN | ||
echo "${{ secrets.NX_CLOUD_ACCESS_TOKEN }}" > nx_cloud_access_token.txt | ||
|
||
# Add secret to EXTRA_DOCKER_BUILD_ARGS | ||
echo "EXTRA_DOCKER_BUILD_ARGS=${EXTRA_DOCKER_BUILD_ARGS} --secret id=nx_cloud_access_token,src=nx_cloud_access_token.txt" >> "${GITHUB_ENV}" | ||
|
||
- name: Check if cached buildx image exists | ||
id: cache-check | ||
run: | | ||
if ! docker pull ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 ; then | ||
docker pull docker.io/moby/buildkit:buildx-stable-1 | ||
docker tag docker.io/moby/buildkit:buildx-stable-1 ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 | ||
docker push ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 | ||
fi | ||
|
||
- name: Building Docker images | ||
continue-on-error: true | ||
id: dockerbuild | ||
if: steps.gather.outcome == 'success' | ||
env: | ||
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | ||
GIT_COMMIT_SHA: ${{ github.sha }} | ||
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | ||
run: | | ||
set -x | ||
echo "Node image tag is: '${NODE_IMAGE_VERSION}'" | ||
echo "Docker build args are: 'EXTRA_DOCKER_BUILD_ARGS'" | ||
export EXTRA_DOCKER_BUILD_ARGS | ||
./scripts/ci/run-in-parallel.sh "90_${DOCKER_TYPE}" | ||
|
||
- name: Building Docker images Retry | ||
if: steps.gather.outcome == 'success' && steps.dockerbuild.outcome == 'failure' | ||
env: | ||
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | ||
GIT_COMMIT_SHA: ${{ github.sha }} | ||
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | ||
run: | | ||
set -x | ||
echo "Node image tag is: '${NODE_IMAGE_VERSION}'" | ||
echo "Docker build args are: 'EXTRA_DOCKER_BUILD_ARGS'" | ||
export EXTRA_DOCKER_BUILD_ARGS | ||
./scripts/ci/run-in-parallel.sh "90_${DOCKER_TYPE}" | ||
uses: ./.github/workflows/docker.yml | ||
with: | ||
projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }} | ||
version: ${{ needs.prepare.outputs.DOCKER_TAG }} |
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.
Align Docker Build Job References with Updated Naming
Within the docker-build
job, the conditional and input parameters still reference needs.prepare.outputs.BUILD_CHUNKS
. To be consistent with the renaming (as indicated by the PR objectives), these references should be updated to use CHUNKS
.
Apply this diff:
- if: needs.prepare.outputs.BUILD_CHUNKS
+ if: needs.prepare.outputs.CHUNKS
...
- projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }}
+ projects: ${{ needs.prepare.outputs.CHUNKS }}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
docker-build: | |
if: needs.prepare.outputs.BUILD_CHUNKS | |
needs: | |
- pre-checks | |
- prepare | |
runs-on: arc-docker | |
timeout-minutes: 45 | |
if: needs.prepare.outputs.BUILD_CHUNKS | |
env: | |
AFFECTED_ALL: ${{ secrets.AFFECTED_ALL }} | |
GIT_BRANCH: ${{ needs.pre-checks.outputs.GIT_BRANCH}} | |
DOCKER_TAG: ${{ needs.prepare.outputs.DOCKER_TAG}} | |
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION}} | |
PUBLISH: true | |
DISABLE_CHUNKS: true | |
MAX_JOBS: 3 | |
NX_PARALLEL: 1 | |
strategy: | |
fail-fast: false | |
matrix: | |
chunk: ${{ fromJson(needs.prepare.outputs.BUILD_CHUNKS) }} | |
steps: | |
- name: Gather apps | |
id: gather | |
run: | | |
set -euo pipefail | |
AFFECTED_PROJECTS="$(echo '${{ matrix.chunk }}' | jq -r '.projects')" | |
DOCKER_TYPE="$(echo '${{ matrix.chunk }}' | jq -r '.docker_type')" | |
APP_HOME="$(echo '${{ matrix.chunk }}' | jq -r '.home')" | |
APP_DIST_HOME="$(echo '${{ matrix.chunk }}' | jq -r '.dist')" | |
echo AFFECTED_PROJECTS="$AFFECTED_PROJECTS" >> "$GITHUB_ENV" | |
echo DOCKER_TYPE="$DOCKER_TYPE" >> "$GITHUB_ENV" | |
echo APP_HOME="$APP_HOME" >> "$GITHUB_ENV" | |
echo APP_DIST_HOME="$APP_DIST_HOME" >> "$GITHUB_ENV" | |
continue-on-error: true | |
- uses: actions/checkout@v4 | |
if: steps.gather.outcome == 'success' | |
- name: Restore generated files | |
uses: runs-on/cache/restore@v4 | |
id: restore-generated-files-cache | |
with: | |
path: | | |
${{ env.GENERATED_FILES }} | |
key: generated-files-${{ github.sha }} | |
- name: Extract generated files | |
run: | | |
tar -xzvf ${{ env.GENERATED_FILES }} | |
- name: Docker login to ECR repo | |
if: steps.gather.outcome == 'success' | |
run: ./scripts/ci/docker-login-ecr.sh | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
- name: Prepare Docker build arguments | |
id: dockerargs | |
if: steps.gather.outcome == 'success' | |
env: | |
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | |
GIT_COMMIT_SHA: ${{ github.sha }} | |
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | |
run: | | |
set -x | |
# Strip protocol prefix and .git postfix | |
SERVER_URL="${{ github.server_url }}/${{ github.repository }}" | |
SERVER_URL="${SERVER_URL#*://}" | |
SERVER_URL="${SERVER_URL%.git}" | |
build_args=( | |
--build-arg="DOCKER_IMAGE_REGISTRY=${DOCKER_BASE_IMAGE_REGISTRY}" | |
--build-arg="NODE_IMAGE_VERSION=${NODE_IMAGE_VERSION}" | |
--build-arg="GIT_BRANCH=${GIT_BRANCH}" | |
--build-arg="GIT_COMMIT_SHA=${GIT_COMMIT_SHA}" | |
--build-arg="GIT_REPOSITORY_URL=${SERVER_URL}" | |
--build-arg="NX_PARALLEL=${NX_PARALLEL}" | |
--build-arg="NX_MAX_PARALLEL=${NX_MAX_PARALLEL}" | |
--build-arg="NX_TASKS_RUNNER=ci" | |
) | |
export EXTRA_DOCKER_BUILD_ARGS="${build_args[*]}" | |
echo "EXTRA_DOCKER_BUILD_ARGS=${EXTRA_DOCKER_BUILD_ARGS}" >> "${GITHUB_ENV}" | |
# Create a temporary file with the NX_CLOUD_ACCESS_TOKEN | |
echo "${{ secrets.NX_CLOUD_ACCESS_TOKEN }}" > nx_cloud_access_token.txt | |
# Add secret to EXTRA_DOCKER_BUILD_ARGS | |
echo "EXTRA_DOCKER_BUILD_ARGS=${EXTRA_DOCKER_BUILD_ARGS} --secret id=nx_cloud_access_token,src=nx_cloud_access_token.txt" >> "${GITHUB_ENV}" | |
- name: Check if cached buildx image exists | |
id: cache-check | |
run: | | |
if ! docker pull ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 ; then | |
docker pull docker.io/moby/buildkit:buildx-stable-1 | |
docker tag docker.io/moby/buildkit:buildx-stable-1 ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 | |
docker push ${{vars.AWS_ECR_REPO_BASE}}/moby/buildkit:buildx-stable-1 | |
fi | |
- name: Building Docker images | |
continue-on-error: true | |
id: dockerbuild | |
if: steps.gather.outcome == 'success' | |
env: | |
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | |
GIT_COMMIT_SHA: ${{ github.sha }} | |
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | |
run: | | |
set -x | |
echo "Node image tag is: '${NODE_IMAGE_VERSION}'" | |
echo "Docker build args are: 'EXTRA_DOCKER_BUILD_ARGS'" | |
export EXTRA_DOCKER_BUILD_ARGS | |
./scripts/ci/run-in-parallel.sh "90_${DOCKER_TYPE}" | |
- name: Building Docker images Retry | |
if: steps.gather.outcome == 'success' && steps.dockerbuild.outcome == 'failure' | |
env: | |
NODE_IMAGE_VERSION: ${{ needs.prepare.outputs.NODE_IMAGE_VERSION }} | |
GIT_COMMIT_SHA: ${{ github.sha }} | |
DOCKER_BASE_IMAGE_REGISTRY: ${{ env.DOCKER_BASE_IMAGE_REGISTRY }} | |
run: | | |
set -x | |
echo "Node image tag is: '${NODE_IMAGE_VERSION}'" | |
echo "Docker build args are: 'EXTRA_DOCKER_BUILD_ARGS'" | |
export EXTRA_DOCKER_BUILD_ARGS | |
./scripts/ci/run-in-parallel.sh "90_${DOCKER_TYPE}" | |
uses: ./.github/workflows/docker.yml | |
with: | |
projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }} | |
version: ${{ needs.prepare.outputs.DOCKER_TAG }} | |
docker-build: | |
- if: needs.prepare.outputs.BUILD_CHUNKS | |
+ if: needs.prepare.outputs.CHUNKS | |
needs: | |
- pre-checks | |
- prepare | |
uses: ./.github/workflows/docker.yml | |
with: | |
- projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }} | |
+ projects: ${{ needs.prepare.outputs.CHUNKS }} | |
version: ${{ needs.prepare.outputs.DOCKER_TAG }} |
….is into ci-new-docker-build-use
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.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/pullrequest.yml (1)
51-59
: Review Debug Job: Verify Output Variable and Runner LabelThe new
debug
job is a useful addition for inspecting the outputs from theprepare
job. However, note the following:
- Output Variable Name: The step echoes
BUILD_CHUNKS
(line 58), but based on the PR summary the prepare job’s output may have been renamed toCHUNKS
. Please verify that the correct output name is used, and update the echo statement if needed.- Runner Label: The
runs-on
field uses the labelarc-runners
(line 54). Static analysis indicates that this label is not standard. Ifarc-runners
is a custom self-hosted runner label, ensure that it is correctly defined in your configuration (or consider using one of the standard labels if appropriate).For example, if the output has been renamed, consider:
- echo "BUILD_CHUNKS: ${{ needs.prepare.outputs.BUILD_CHUNKS }}" + echo "CHUNKS: ${{ needs.prepare.outputs.CHUNKS }}"🧰 Tools
🪛 actionlint (1.7.4)
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/pullrequest.yml
(2 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/pullrequest.yml
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
241-241: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
.github/workflows/pullrequest.yml
Outdated
docker-build: | ||
if: ${{ needs.prepare.outputs.DOCKER_CHUNKS && needs.prepare.outputs.DEPLOY_FEATURE == 'true' }} | ||
needs: | ||
- prepare | ||
uses: ./.github/workflows/docker.yml | ||
with: | ||
projects: ${{ needs.prepare.outputs.DOCKER_CHUNKS }} | ||
version: ${{ needs.prepare.outputs.DOCKER_TAG }} | ||
|
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.
Review Docker-Build Job: Validate Output and Input Parameters
The new docker-build
job is well structured in that it conditions execution based on the DOCKER_CHUNKS
and DEPLOY_FEATURE
outputs from the prepare
job. However, please double-check the following:
- Output Property for Version: The job passes
version: ${{ needs.prepare.outputs.DOCKER_TAG }}
(line 241). Static analysis indicates that a property nameddocker_tag
does not exist in the prepare job’s output object. Ensure that the prepare job definesDOCKER_TAG
(or adjust the reference accordingly) so the external workflow (docker.yml
) receives the correct version. - Overall Consistency: Verify that the external workflow (
docker.yml
) is configured to accept the parametersprojects
andversion
as provided.
🧰 Tools
🪛 actionlint (1.7.4)
241-241: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
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.
Actionable comments posted: 0
♻️ Duplicate comments (1)
.github/workflows/pullrequest.yml (1)
236-244
:⚠️ Potential issueValidate 'DOCKER_TAG' Output in Docker-Build Job
The docker-build job passes
version: ${{ needs.prepare.outputs.DOCKER_TAG }}
to the external workflow. However, static analysis and previous reviews indicate that the prepare job does not define an output property namedDOCKER_TAG
(the outputs include properties such asbuild_chunks
,docker_chunks
, etc.). Please verify that the prepare job is updated to exportDOCKER_TAG
or adjust this reference to match the correct output key.🧰 Tools
🪛 actionlint (1.7.4)
243-243: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
🧹 Nitpick comments (1)
.github/workflows/pullrequest.yml (1)
51-60
: Runner Label Verification for Debug JobThe newly added debug job uses
runs-on: arc-runners
, but static analysis indicates that "arc-runners" is not among the standard runner labels. If this is a custom self-hosted runner label, please ensure that it is correctly configured (for example, by updating youractionlint.yaml
if needed). Otherwise, consider switching to one of the recognized labels likeubuntu-latest
or another appropriate option.🧰 Tools
🪛 actionlint (1.7.4)
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/pullrequest.yml
(2 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/pullrequest.yml
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
243-243: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/install.yml (1)
167-169
: Refined echo statements for CHUNKS variableThe updates in these lines improve the clarity and consistency of how the
CHUNKS
variable is output. Removing the single quotes in the debug log (line 167) now displays the variable’s value directly, which enhances readability. Additionally, the revised echo command on line 169—with explicit double quotes around the assignment—helps ensure that any whitespace or special characters inCHUNKS
are handled correctly when writing toGITHUB_OUTPUT
. Please verify that these changes align with the expectations of downstream steps that consume this output.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/install.yml
(1 hunks).github/workflows/push.yml
(4 hunks)scripts/ci/generate-docker-chunks.sh
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- scripts/ci/generate-docker-chunks.sh
- .github/workflows/push.yml
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
.github/workflows/docker.yml (2)
105-109
: Prepare Matrix Step: JSON Conversion Review
ThePrepare matrix
step uses the command:MATRIX_CHUNKS="$(echo "${{ inputs.projects }}" | jq -cM '. | map("\(.|tostring)")')"
Please verify that converting each project object to its string representation via
tostring
meets the requirements of the subsequent "Gather apps" step. If preserving the object structure is important, consider outputting a JSON array of objects instead of strings.
250-262
: Gather Apps Step: Matrix Chunk Extraction
In the "Gather apps" step, environment variables are extracted frommatrix.chunk
usingjq
. Please ensure that the matrix chunk elements are in the expected JSON format. If possible, consider refactoring the matrix output so that downstream extraction can use native YAML expressions rather than an extrajq
call.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/docker.yml
(9 hunks).github/workflows/install.yml
(1 hunks).github/workflows/push.yml
(4 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/workflows/install.yml
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/docker.yml
155-155: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
210-210: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (10)
.github/workflows/docker.yml (8)
17-20
: Input Parameter Update: JSON Array for Projects
The updated description now clearly indicates that theprojects
input should be a JSON array of project objects. Please verify that all downstream steps expect and correctly parse this JSON format.
70-72
: AWS Cache From Update
TheAWS_CACHE_FROM_COMMON
variable has been refactored to use a single cache name (deps-cache
), which simplifies the configuration. This change looks good.
83-85
: Matrix-Chunks Output Introduction
The new outputmatrix-chunks
replaces the previous outputs from the prepare step. Ensure that any references downstream correctly use this new output value.
155-155
: Runner Label Verification for 'arc-docker' in Deps Job
Thedeps
job now usesruns-on: arc-docker
. Static analysis indicates that this label is not one of the standard runner labels. Ifarc-docker
is intended as a custom self-hosted label, please ensure it is properly configured in your actionlint YAML.🧰 Tools
🪛 actionlint (1.7.4)
155-155: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
209-210
: Runner Label Verification in Build Job
Similarly, thebuild
job now usesruns-on: arc-docker
. Please double-check that this label is valid and recognized by GitHub Actions or that it is properly set up as a custom label in your environment.🧰 Tools
🪛 actionlint (1.7.4)
210-210: label "arc-docker" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
218-218
: Matrix Parsing in Build Job
The matrix is now set with:matrix: chunk: ${{ fromJson(needs.prepare.outputs.matrix-chunks) }}This approach should work provided that the output of the "Prepare matrix" step is valid JSON. Confirm that the JSON conversion from the previous step matches this expectation.
307-320
: Dynamic Docker Build Configuration
The Docker build step successfully leverages dynamic values frommatrix.chunk
(e.g., using${{ matrix.chunk.docker_type }}
for the build target) and passes build arguments appropriately. This flexible configuration is well implemented. Just verify that build arguments from both the prepare step and direct inputs merge correctly during the build.
323-324
: Cache-from Configuration Consistency
Thecache-from
configuration now consistently usesname=cache-deps
. This standardization should help manage caching more effectively..github/workflows/push.yml (2)
75-81
: Output Variable Naming Consistency for Docker Chunks
The prepare job outputs the variableBUILD_CHUNKS
using the value fromsteps.build_map.outputs.CHUNKS
. Given the recent changes favoring theCHUNKS
naming convention, consider renaming this output variable (and its references) toCHUNKS
for consistency across the workflows.🧰 Tools
🪛 actionlint (1.7.4)
79-79: property "git_nx_base" is not defined in object type {build_map: {conclusion: string; outcome: string; outputs: {string => string}}; deploy_map: {conclusion: string; outcome: string; outputs: {string => string}}; docker_tags: {conclusion: string; outcome: string; outputs: {string => string}}; git_nx_head: {conclusion: string; outcome: string; outputs: {string => string}}; nodejs_image: {conclusion: string; outcome: string; outputs: {string => string}}; set-branch-env: {conclusion: string; outcome: string; outputs: {string => string}}; slack: {conclusion: string; outcome: string; outputs: {}}; test_projects: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
253-261
: Align Docker Build Job References with Updated Naming
In thedocker-build
job, the condition and input for projects are still referencingneeds.prepare.outputs.BUILD_CHUNKS
. If the intent is to switch to the new naming (CHUNKS
), please update these references accordingly to ensure consistency with the rest of the workflow.
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.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
.github/workflows/push.yml (1)
75-81
: 🛠️ Refactor suggestionRename Prepare Job Output for Consistency.
Within the prepare job outputs, the Docker build targets are currently set as:BUILD_CHUNKS: ${{ steps.build_map.outputs.CHUNKS }}
Per the PR objectives and updated naming conventions, consider renaming this output variable to
CHUNKS
. This renaming will promote consistency and simplify downstream references in the workflow.Suggested diff:
- BUILD_CHUNKS: ${{ steps.build_map.outputs.CHUNKS }} + CHUNKS: ${{ steps.build_map.outputs.CHUNKS }}🧰 Tools
🪛 actionlint (1.7.4)
79-79: property "git_nx_base" is not defined in object type {build_map: {conclusion: string; outcome: string; outputs: {string => string}}; deploy_map: {conclusion: string; outcome: string; outputs: {string => string}}; docker_tags: {conclusion: string; outcome: string; outputs: {string => string}}; git_nx_head: {conclusion: string; outcome: string; outputs: {string => string}}; nodejs_image: {conclusion: string; outcome: string; outputs: {string => string}}; set-branch-env: {conclusion: string; outcome: string; outputs: {string => string}}; slack: {conclusion: string; outcome: string; outputs: {}}; test_projects: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
♻️ Duplicate comments (1)
.github/workflows/push.yml (1)
252-261
: 🛠️ Refactor suggestionUpdate docker-build Job to Reflect Renamed Output.
The docker-build job currently references the prepare output asneeds.prepare.outputs.BUILD_CHUNKS
(lines 253 and 259). With the updated output name, these should be changed toneeds.prepare.outputs.CHUNKS
to ensure consistency across the workflow.Suggested diffs:
- if: needs.prepare.outputs.BUILD_CHUNKS + if: needs.prepare.outputs.CHUNKS- projects: ${{ needs.prepare.outputs.BUILD_CHUNKS }} + projects: ${{ needs.prepare.outputs.CHUNKS }}
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/pullrequest.yml
(2 hunks).github/workflows/push.yml
(4 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/pullrequest.yml
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
243-243: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
🔇 Additional comments (2)
.github/workflows/pullrequest.yml (1)
51-60
: Review of the 'debug' job and runner label usage.
The newly added debug job is structured well for output verification of the prepare job. However, the job uses the runner labelarc-runners
(line 54). Please verify that this label is properly defined in your GitHub Actions configuration or update it to one of the recognized labels, as static analysis indicates it may be unrecognized.🧰 Tools
🪛 actionlint (1.7.4)
54-54: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/push.yml (1)
62-62
: Verify Runner Label 'arc-runners' Across Jobs.
Several jobs in this workflow (e.g., at lines 62, 268, 315, 369, and 386) use the runner labelarc-runners
. Please ensure that this custom runner label is correctly configured in your GitHub Actions environment or update these references to a recognized runner label.Also applies to: 268-268, 315-315, 369-369, 386-386
🧰 Tools
🪛 actionlint (1.7.4)
62-62: label "arc-runners" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/pullrequest.yml
Outdated
docker-build: | ||
if: ${{ needs.prepare.outputs.DOCKER_CHUNKS && needs.prepare.outputs.DEPLOY_FEATURE == 'false' }} | ||
needs: | ||
- prepare | ||
uses: ./.github/workflows/docker.yml | ||
with: | ||
projects: ${{ needs.prepare.outputs.DOCKER_CHUNKS }} | ||
version: ${{ needs.prepare.outputs.DOCKER_TAG }} | ||
|
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.
Validate Expected Prepare Outputs for the Docker Build Workflow.
The docker-build job correctly leverages the external workflow (docker.yml
) and passes projects
from DOCKER_CHUNKS
alongside version
from DOCKER_TAG
. Please ensure that the prepare job truly defines the output property DOCKER_TAG
—its absence or misnaming could lead to runtime failures.
🧰 Tools
🪛 actionlint (1.7.4)
243-243: property "docker_tag" is not defined in object type {build_chunks: string; deploy_feature: string; docker_chunks: string; e2e_build_id: string; e2e_chunks: string; lint_chunks: string; nx_base: string; nx_head: string; test_chunks: string}
(expression)
Summary by CodeRabbit
New Features
docker-build
job in the pull request workflow to enhance Docker image build processes.Chores
Refactor