[#2154] Extracted linting into standalone lint CI job.#2346
[#2154] Extracted linting into standalone lint CI job.#2346AlexSkrypnyk merged 1 commit intomainfrom
lint CI job.#2346Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdded a standalone Changes
Sequence Diagram(s)sequenceDiagram
rect rgba(200,200,255,0.5)
participant CI as CI (CircleCI / GitHub Actions)
end
rect rgba(200,255,200,0.5)
participant Reg as Container Registry
end
rect rgba(255,200,200,0.5)
participant Deploy as Deployment Target
end
CI->>CI: Start pipeline (commit / workflow)
par Lint job
CI->>CI: run `lint` job (checkout, build CLI stack, install deps, run linters)
CI->>Reg: optional registry login for image linting/audits
and Build job
CI->>CI: run `build` job (matrix builds, docker compose up, install deps, tests, artifacts)
CI->>Reg: login / push images / pull base images
end
CI->>CI: wait for `build` + `lint` success
CI->>Deploy: trigger deployment (only if both succeed)
Deploy->>CI: report status
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.circleci/config.yml:
- Around line 321-324: The Composer validation step "Validate Composer
configuration" currently runs in both the lint and build jobs (the step runs
`composer validate --strict || [
"${VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE:-0}" -eq 1 ]` in the build job),
causing redundant checks; either remove this step from the build job or add a
comment explaining the intentional duplication for faster parallel feedback;
update the build job to omit the `composer validate --strict` command (or add a
clarifying comment above the step) and leave the lint job as the canonical gate
that ensures `composer validate` is enforced (reference the "lint" job, "build"
job, "Validate Composer configuration" step, and the
`VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE` env var when making the change).
In @.github/workflows/build-test-deploy.yml:
- Around line 334-336: The "Validate Composer configuration" step is duplicated
between the lint and build jobs (the step name and command composer validate
--strict) causing redundant validation; either remove the duplicate step from
one job (keep it in the canonical job—e.g., lint or build) or add a
comment/documentation in the workflow indicating the redundancy is intentional;
update or preserve the continue-on-error expression referencing
vars.VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE as needed so behavior remains
consistent when you delete or move the step.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 247b7c03-5677-4af1-8166-21a03b9acc2c
📒 Files selected for processing (2)
.circleci/config.yml.github/workflows/build-test-deploy.yml
229770e to
dcafdb2
Compare
lint CI job.lint CI job.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/build-test-deploy.yml:
- Around line 284-289: The build job currently has an unconditional "needs:
database" which becomes invalid when the !PROVISION_TYPE_PROFILE template
removes the database job; update the build job to only include the "needs:
database" line when the profile is present by moving or wrapping that line
inside the same !PROVISION_TYPE_PROFILE template block (i.e., add the same
template guard markers around the needs: database line so it is removed together
with the database job), ensuring the build job definition remains valid after
template processing.
- Around line 277-280: The step "Lint theme code with NodeJS linters" currently
uses GitHub vars in its if: condition which won't see values written at runtime;
remove the if: condition and instead guard the command at runtime by checking
the environment variable VORTEX_FRONTEND_BUILD_SKIP inside the run shell (e.g.
wrap or prefix the existing docker compose command with a bash check like if [
"$VORTEX_FRONTEND_BUILD_SKIP" = "1" ]; then echo "skipping frontend build"; else
<original docker compose exec -T cli bash -c "yarn
--cwd=${WEBROOT}/themes/custom/${DRUPAL_THEME} run lint">; fi) so the
.env-loaded $VORTEX_FRONTEND_BUILD_SKIP is honored at execution time.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: ee71209c-ee3b-4d63-b46a-ea18d5016291
📒 Files selected for processing (2)
.circleci/config.yml.github/workflows/build-test-deploy.yml
| #;< DRUPAL_THEME | ||
| - name: Lint theme code with NodeJS linters | ||
| if: ${{ (matrix.instance == 0 || strategy.job-total == 1) && vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} | ||
| if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} | ||
| run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In GitHub Actions, what is the difference between the varsandenvcontexts in a stepif:expression, and do values written to$GITHUB_ENVin an earlier step affect thevars context?
💡 Result:
varscontext: read-only configuration variables defined in GitHub UI at the organization, repository, or environment scope (i.e., “Actions variables”). They’re exposed to expressions asvars.NAME.[1]envcontext: environment variables that are set in the workflow YAML at the workflow/job/stepenv:level and are available to expressions asenv.NAME. You can useenvin step keys (includingif) other thanid/uses.[1]
Do values written to $GITHUB_ENV affect vars? No. Writing NAME=VALUE to $GITHUB_ENV creates/updates an environment variable for subsequent steps in the same job (i.e., it affects what you can read via env, not vars). [2]
vars remains the set of GitHub configuration variables from org/repo/environment settings and is not modified by $GITHUB_ENV. [1]
Sources
[1] GitHub Docs — Contexts (env and vars) https://docs.github.com/en/actions/reference/workflows-and-actions/contexts
[2] GitHub Docs — Using variables / $GITHUB_ENV to pass values between steps https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables
🏁 Script executed:
# Find and examine the workflow file
fd -t f "build-test-deploy.yml" .github/workflows/
# Check file size
wc -l .github/workflows/build-test-deploy.yml
# Read around line 197 to see how VORTEX_FRONTEND_BUILD_SKIP is loaded
sed -n '190,205p' .github/workflows/build-test-deploy.yml
# Read around line 279 to see the current condition
sed -n '270,285p' .github/workflows/build-test-deploy.ymlRepository: drevops/vortex
Length of output: 1518
Switch this step to check runtime environment variables instead of repository variables.
Line 279 uses vars.VORTEX_FRONTEND_BUILD_SKIP, which reads GitHub UI configuration variables. However, line 197 loads VORTEX_FRONTEND_BUILD_SKIP from .env into the runtime environment via $GITHUB_ENV. Since $GITHUB_ENV writes do not affect the vars context, repos that disable frontend builds in .env will not be honored by the if condition on line 279—the step will still run. Use a shell guard instead to check the runtime environment variable:
Suggested fix
- name: Lint theme code with NodeJS linters
- if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }}
- run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"
+ run: |
+ [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" = "1" ] && exit 0
+ docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"
continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}📝 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.
| #;< DRUPAL_THEME | |
| - name: Lint theme code with NodeJS linters | |
| if: ${{ (matrix.instance == 0 || strategy.job-total == 1) && vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} | |
| if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} | |
| run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" | |
| #;< DRUPAL_THEME | |
| - name: Lint theme code with NodeJS linters | |
| run: | | |
| [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" = "1" ] && exit 0 | |
| docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/build-test-deploy.yml around lines 277 - 280, The step
"Lint theme code with NodeJS linters" currently uses GitHub vars in its if:
condition which won't see values written at runtime; remove the if: condition
and instead guard the command at runtime by checking the environment variable
VORTEX_FRONTEND_BUILD_SKIP inside the run shell (e.g. wrap or prefix the
existing docker compose command with a bash check like if [
"$VORTEX_FRONTEND_BUILD_SKIP" = "1" ]; then echo "skipping frontend build"; else
<original docker compose exec -T cli bash -c "yarn
--cwd=${WEBROOT}/themes/custom/${DRUPAL_THEME} run lint">; fi) so the
.env-loaded $VORTEX_FRONTEND_BUILD_SKIP is honored at execution time.
| build: | ||
| runs-on: ubuntu-latest | ||
| needs: database | ||
| #;< !PROVISION_TYPE_PROFILE | ||
| if: ${{ github.event_name != 'schedule' && (github.event_name == 'push' || !startsWith(github.head_ref, 'project/')) }} | ||
| #;> !PROVISION_TYPE_PROFILE |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python - <<'PY'
from pathlib import Path
path = Path(".github/workflows/build-test-deploy.yml")
lines = path.read_text().splitlines()
out = []
skip = False
for line in lines:
stripped = line.strip()
if stripped == "#;< !PROVISION_TYPE_PROFILE":
skip = True
continue
if stripped == "#;> !PROVISION_TYPE_PROFILE":
skip = False
continue
if not skip:
out.append(line)
generated = "\n".join(out)
print("database job present:", "\n database:\n" in "\n" + generated + "\n")
print("needs database present:", "needs: database" in generated)
PYRepository: drevops/vortex
Length of output: 114
Guard needs: database for profile-generated workflows.
database is removed by the !PROVISION_TYPE_PROFILE template block, but the needs: database line (line 286) remains unconditionally. This creates an invalid workflow where the build job references a non-existent job after template processing.
Suggested fix
build:
runs-on: ubuntu-latest
+ #;< !PROVISION_TYPE_PROFILE
needs: database
#;< !PROVISION_TYPE_PROFILE
if: ${{ github.event_name != 'schedule' && (github.event_name == 'push' || !startsWith(github.head_ref, 'project/')) }}
#;> !PROVISION_TYPE_PROFILE🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/build-test-deploy.yml around lines 284 - 289, The build
job currently has an unconditional "needs: database" which becomes invalid when
the !PROVISION_TYPE_PROFILE template removes the database job; update the build
job to only include the "needs: database" line when the profile is present by
moving or wrapping that line inside the same !PROVISION_TYPE_PROFILE template
block (i.e., add the same template guard markers around the needs: database line
so it is removed together with the database job), ensuring the build job
definition remains valid after template processing.
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.circleci/config.yml (1)
467-470:⚠️ Potential issue | 🟠 MajorGate workspace persistence to single executor to avoid attach_workspace conflicts.
With
parallelism: 2on line 312, both parallel executors run thepersist_to_workspacestep at lines 467-470, persisting the samecode/path. According to CircleCI's official workspace documentation, when multiple concurrent executors persist the same filename/path, the downstreamattach_workspacewill error when it attempts to apply the conflicting layers.Gate the export/persist steps (lines 363-370 and 467-470) to the primary executor only:
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0This pattern is already used elsewhere in the config for similar parallelism scenarios.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.circleci/config.yml around lines 467 - 470, The parallel executors are both running the persist_to_workspace step (the block that persists root: /tmp/workspace paths: - code) which causes attach_workspace conflicts; guard the workspace export/persist steps (the export/persist block and the persist_to_workspace block) so only the primary executor runs them by adding the same primary-executor guard used elsewhere (check CIRCLE_NODE_TOTAL and CIRCLE_NODE_INDEX and exit non-primary executors early), ensuring only the first node performs the persist_to_workspace operation.
♻️ Duplicate comments (2)
.github/workflows/build-test-deploy.yml (2)
284-289:⚠️ Potential issue | 🟠 MajorGuard
needs: databasefor profile-generated workflows.The
databasejob (lines 57-167) is wrapped in#;< !PROVISION_TYPE_PROFILE/#;> !PROVISION_TYPE_PROFILEtemplate markers, butneeds: databaseat line 286 is not guarded. After template processing for profile-type projects, this creates an invalid workflow referencing a non-existent job.Suggested fix
build: runs-on: ubuntu-latest + #;< !PROVISION_TYPE_PROFILE needs: database - #;< !PROVISION_TYPE_PROFILE if: ${{ github.event_name != 'schedule' && (github.event_name == 'push' || !startsWith(github.head_ref, 'project/')) }} #;> !PROVISION_TYPE_PROFILE🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/build-test-deploy.yml around lines 284 - 289, The workflow's build job references needs: database even though the database job is conditionally removed by the PROVISION_TYPE_PROFILE template markers; update the build job (job name "build") to guard or remove the needs: database dependency under the same template markers (i.e., wrap the needs: database line with the #;< !PROVISION_TYPE_PROFILE and #;> !PROVISION_TYPE_PROFILE markers or add an equivalent conditional) so the reference to the database job is only present when the database job is generated.
277-281:⚠️ Potential issue | 🟠 MajorSwitch this step to check runtime environment variables instead of repository variables.
Line 279 uses
vars.VORTEX_FRONTEND_BUILD_SKIP, which reads GitHub UI configuration variables. However, line 197 loadsVORTEX_FRONTEND_BUILD_SKIPfrom.envinto the runtime environment via$GITHUB_ENV. Since$GITHUB_ENVwrites do not affect thevarscontext, repos that disable frontend builds in.envwill not be honored by theifcondition—the step will still run.Suggested fix using shell guard
- name: Lint theme code with NodeJS linters - if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} - run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" + run: | + [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" = "1" ] && exit 0 + docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/build-test-deploy.yml around lines 277 - 281, The workflow step "Lint theme code with NodeJS linters" currently uses the repository vars context (vars.VORTEX_FRONTEND_BUILD_SKIP) which doesn't reflect values written to $GITHUB_ENV at runtime; update the step to check the runtime environment instead (use env.VORTEX_FRONTEND_BUILD_SKIP in the step's if condition) or add a shell guard at the start of the run command to exit early when VORTEX_FRONTEND_BUILD_SKIP equals "1"; also preserve the continue-on-error behavior using the existing VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE variable (env.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE) so the behavior remains consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.circleci/config.yml:
- Around line 352-357: The artifact export step named "Export built codebase" is
copying /app to /tmp/workspace/code before the app is fully prepared; move the
entire step that runs docker compose cp -L cli:"/app/." "/tmp/workspace/code"
(and the mkdir/du around it) so it executes after the build/provisioning steps
(specifically after the composer install and the site provisioning steps) so
artifacts snapshot the final prepared app rather than a pre-build copy.
---
Outside diff comments:
In @.circleci/config.yml:
- Around line 467-470: The parallel executors are both running the
persist_to_workspace step (the block that persists root: /tmp/workspace paths: -
code) which causes attach_workspace conflicts; guard the workspace
export/persist steps (the export/persist block and the persist_to_workspace
block) so only the primary executor runs them by adding the same
primary-executor guard used elsewhere (check CIRCLE_NODE_TOTAL and
CIRCLE_NODE_INDEX and exit non-primary executors early), ensuring only the first
node performs the persist_to_workspace operation.
---
Duplicate comments:
In @.github/workflows/build-test-deploy.yml:
- Around line 284-289: The workflow's build job references needs: database even
though the database job is conditionally removed by the PROVISION_TYPE_PROFILE
template markers; update the build job (job name "build") to guard or remove the
needs: database dependency under the same template markers (i.e., wrap the
needs: database line with the #;< !PROVISION_TYPE_PROFILE and #;>
!PROVISION_TYPE_PROFILE markers or add an equivalent conditional) so the
reference to the database job is only present when the database job is
generated.
- Around line 277-281: The workflow step "Lint theme code with NodeJS linters"
currently uses the repository vars context (vars.VORTEX_FRONTEND_BUILD_SKIP)
which doesn't reflect values written to $GITHUB_ENV at runtime; update the step
to check the runtime environment instead (use env.VORTEX_FRONTEND_BUILD_SKIP in
the step's if condition) or add a shell guard at the start of the run command to
exit early when VORTEX_FRONTEND_BUILD_SKIP equals "1"; also preserve the
continue-on-error behavior using the existing
VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE variable
(env.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE) so the behavior remains consistent.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: de78d679-f961-4721-a4d6-df3391cde14c
📒 Files selected for processing (2)
.circleci/config.yml.github/workflows/build-test-deploy.yml
| name: Export built codebase | ||
| command: | | ||
| echo "${VORTEX_DEPLOY_TYPES:-}" | grep -vq "artifact" && exit 0 || true | ||
| mkdir -p "/tmp/workspace/code" | ||
| docker compose cp -L cli:"/app/." "/tmp/workspace/code" | ||
| du -sh "/tmp/workspace/code" |
There was a problem hiding this comment.
Move artifact export after the app is fully prepared.
Line 73 makes artifact deploys read from /tmp/workspace/code, but Line 356 snapshots that directory before Line 364 runs composer install and before Line 379 provisions the site. When VORTEX_DEPLOY_TYPES includes artifact, deploy will publish a pre-build snapshot instead of the prepared app.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.circleci/config.yml around lines 352 - 357, The artifact export step named
"Export built codebase" is copying /app to /tmp/workspace/code before the app is
fully prepared; move the entire step that runs docker compose cp -L cli:"/app/."
"/tmp/workspace/code" (and the mkdir/du around it) so it executes after the
build/provisioning steps (specifically after the composer install and the site
provisioning steps) so artifacts snapshot the final prepared app rather than a
pre-build copy.
This comment has been minimized.
This comment has been minimized.
|
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
.github/workflows/build-test-deploy.yml (1)
165-169:⚠️ Potential issue | 🟠 MajorThis guard ignores the
.env-loaded skip flag.Line 167 reads
vars.VORTEX_FRONTEND_BUILD_SKIP, but Line 85 populatesVORTEX_FRONTEND_BUILD_SKIPby writing to$GITHUB_ENV. GitHub documentsvarsas repository/organization/environment configuration variables, while$GITHUB_ENVcreates runner environment variables for later steps; GitHub also evaluatesif:before sending the step to the runner. As written, repos that disable frontend builds in.envwill still execute theme lint here. CircleCI already uses the safer runtime shell guard in the equivalent step. (docs.github.com)🐛 Suggested fix
- name: Lint theme code with NodeJS linters - if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} - run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" + run: | + [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" = "1" ] && exit 0 + docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/build-test-deploy.yml around lines 165 - 169, The step "Lint theme code with NodeJS linters" currently uses an if: condition checking vars.VORTEX_FRONTEND_BUILD_SKIP which is only for repository/organization variables and is evaluated before $GITHUB_ENV is applied; change the condition to check the runner environment variable set via $GITHUB_ENV by replacing if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} with if: ${{ env.VORTEX_FRONTEND_BUILD_SKIP != '1' }} so the runtime .env-written flag (VORTEX_FRONTEND_BUILD_SKIP) actually prevents the step from running.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@tests/phpunit/CircleCiConfigTest.php`:
- Around line 50-52: Tests currently index into
$this->config['workflows']['commit']['jobs'] by position which breaks when job
ordering changes; add a private helper method (e.g. workflowJob(string
$workflow, string $job)) that iterates
$this->config['workflows'][$workflow]['jobs'], returns the matching job entry
when isset($entry[$job]) and calls self::fail(...) if not found, then update
testDeployBranchRegex to call $deploy = $this->workflowJob('commit','deploy')
and assert against $deploy['filters']['branches']['only'], and update the tag
test (testDeployTagRegex) to resolve 'deploy-tags' similarly and assert against
its ['filters']['tags']['only'].
---
Duplicate comments:
In @.github/workflows/build-test-deploy.yml:
- Around line 165-169: The step "Lint theme code with NodeJS linters" currently
uses an if: condition checking vars.VORTEX_FRONTEND_BUILD_SKIP which is only for
repository/organization variables and is evaluated before $GITHUB_ENV is
applied; change the condition to check the runner environment variable set via
$GITHUB_ENV by replacing if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} with
if: ${{ env.VORTEX_FRONTEND_BUILD_SKIP != '1' }} so the runtime .env-written
flag (VORTEX_FRONTEND_BUILD_SKIP) actually prevents the step from running.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 958d395d-cf67-4b34-9bf7-d1aaf5f8c7f1
⛔ Files ignored due to path filters (66)
.vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/db_download_source_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_gha/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_ftp/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_lagoon/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_s3/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_url/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/provision_profile/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_claro/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_olivero/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_stark/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_none/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (3)
.circleci/config.yml.github/workflows/build-test-deploy.ymltests/phpunit/CircleCiConfigTest.php
| public function testDeployBranchRegex(string $branch, bool $expected = TRUE): void { | ||
| $this->assertEquals($expected, preg_match($this->config['workflows']['commit']['jobs'][2]['deploy']['filters']['branches']['only'], $branch)); | ||
| $this->assertEquals($expected, preg_match($this->config['workflows']['commit']['jobs'][3]['deploy']['filters']['branches']['only'], $branch)); | ||
| } |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Stop keying these assertions off workflow order.
Line 51 and Line 225 now depend on the exact position of deploy / deploy-tags inside workflows.commit.jobs. This PR already had to bump those indices once for lint; the next unrelated job insertion will break these tests again even if the regexes stay correct. Resolve the workflow entry by job name before reading filters.
♻️ Suggested direction
private function workflowJob(string $workflow, string $job): array {
foreach ($this->config['workflows'][$workflow]['jobs'] as $entry) {
if (isset($entry[$job])) {
return $entry[$job];
}
}
self::fail(sprintf('Job "%s" not found in workflow "%s".', $job, $workflow));
}
public function testDeployBranchRegex(string $branch, bool $expected = TRUE): void {
$deploy = $this->workflowJob('commit', 'deploy');
$this->assertEquals($expected, preg_match($deploy['filters']['branches']['only'], $branch));
}
public function testDeployTagRegex(string $branch, bool $expected = TRUE): void {
$deployTags = $this->workflowJob('commit', 'deploy-tags');
$this->assertEquals($expected, preg_match($deployTags['filters']['tags']['only'], $branch));
}Also applies to: 224-226
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@tests/phpunit/CircleCiConfigTest.php` around lines 50 - 52, Tests currently
index into $this->config['workflows']['commit']['jobs'] by position which breaks
when job ordering changes; add a private helper method (e.g. workflowJob(string
$workflow, string $job)) that iterates
$this->config['workflows'][$workflow]['jobs'], returns the matching job entry
when isset($entry[$job]) and calls self::fail(...) if not found, then update
testDeployBranchRegex to call $deploy = $this->workflowJob('commit','deploy')
and assert against $deploy['filters']['branches']['only'], and update the tag
test (testDeployTagRegex) to resolve 'deploy-tags' similarly and assert against
its ['filters']['tags']['only'].
|
|
37ce283 to
5fc1740
Compare
This comment has been minimized.
This comment has been minimized.
|
There was a problem hiding this comment.
♻️ Duplicate comments (3)
.circleci/config.yml (1)
120-123: 🧹 Nitpick | 🔵 Trivial
composer validateis still duplicated withbuild.The same check still runs in the
buildjob, so every pipeline pays for it twice. Keep one canonical gate or add a brief note if the redundancy is intentional.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.circleci/config.yml around lines 120 - 123, The "Validate Composer configuration" run step (the command 'composer validate --strict || [ "${VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE:-0}" -eq 1 ]') duplicates the same check already executed in the build job; remove the duplicate step from one of the jobs (either delete this run step or the corresponding one in the build job) or consolidate into a single canonical job/responsibility and add a short comment/note indicating why it is the single gate, ensuring only one CI stage runs 'composer validate' to avoid double work.tests/phpunit/CircleCiConfigTest.php (1)
50-52: 🛠️ Refactor suggestion | 🟠 MajorStop keying these assertions to workflow order.
jobs[3]andjobs[4]will break again on the next unrelated workflow insertion. Resolvedeployanddeploy-tagsby name before reading their filters.Also applies to: 224-226
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@tests/phpunit/CircleCiConfigTest.php` around lines 50 - 52, The test testDeployBranchRegex is brittle because it indexes $this->config['workflows']['commit']['jobs'][3] (and similarly jobs[4]) by position; change the test to locate the job entries by name instead: iterate or array-search $this->config['workflows']['commit']['jobs'] for the job whose key/name equals 'deploy' (and 'deploy-tags') and then read ['deploy']['filters']['branches']['only'] for the preg_match assertion; apply the same change to the duplicate assertions around lines 224-226 so both checks resolve jobs by name rather than by numeric index..github/workflows/build-test-deploy.yml (1)
165-169:⚠️ Potential issue | 🟠 MajorUse the runtime
VORTEX_FRONTEND_BUILD_SKIPhere.This step still checks
vars.*, so a repo that setsVORTEX_FRONTEND_BUILD_SKIP=1in.envwill run theme lint anyway. Guard insiderun:so the value loaded through$GITHUB_ENVis honored.Suggested fix
- name: Lint theme code with NodeJS linters - if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} - run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" + run: | + [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" = "1" ] && exit 0 + docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/build-test-deploy.yml around lines 165 - 169, The step uses the workflow conditional if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} which only reads repository variables at workflow compile time instead of the runtime environment variable VORTEX_FRONTEND_BUILD_SKIP; to fix, remove/replace the if check and guard the execution inside the run command by prefixing the docker compose call with a shell conditional that checks the runtime env var (e.g. test or [ "$VORTEX_FRONTEND_BUILD_SKIP" != "1" ] && docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"), keeping the existing continue-on-error behavior unchanged so the step still can be skipped at runtime when VORTEX_FRONTEND_BUILD_SKIP=1.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In @.circleci/config.yml:
- Around line 120-123: The "Validate Composer configuration" run step (the
command 'composer validate --strict || [
"${VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE:-0}" -eq 1 ]') duplicates the same
check already executed in the build job; remove the duplicate step from one of
the jobs (either delete this run step or the corresponding one in the build job)
or consolidate into a single canonical job/responsibility and add a short
comment/note indicating why it is the single gate, ensuring only one CI stage
runs 'composer validate' to avoid double work.
In @.github/workflows/build-test-deploy.yml:
- Around line 165-169: The step uses the workflow conditional if: ${{
vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }} which only reads repository variables
at workflow compile time instead of the runtime environment variable
VORTEX_FRONTEND_BUILD_SKIP; to fix, remove/replace the if check and guard the
execution inside the run command by prefixing the docker compose call with a
shell conditional that checks the runtime env var (e.g. test or [
"$VORTEX_FRONTEND_BUILD_SKIP" != "1" ] && docker compose exec -T cli bash -c
"yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"), keeping the
existing continue-on-error behavior unchanged so the step still can be skipped
at runtime when VORTEX_FRONTEND_BUILD_SKIP=1.
In `@tests/phpunit/CircleCiConfigTest.php`:
- Around line 50-52: The test testDeployBranchRegex is brittle because it
indexes $this->config['workflows']['commit']['jobs'][3] (and similarly jobs[4])
by position; change the test to locate the job entries by name instead: iterate
or array-search $this->config['workflows']['commit']['jobs'] for the job whose
key/name equals 'deploy' (and 'deploy-tags') and then read
['deploy']['filters']['branches']['only'] for the preg_match assertion; apply
the same change to the duplicate assertions around lines 224-226 so both checks
resolve jobs by name rather than by numeric index.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: d6c43f2d-cd26-4070-bc8e-9d65eb3136ec
⛔ Files ignored due to path filters (66)
.vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/db_download_source_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_gha/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_acquia/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_ftp/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_lagoon/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_s3/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_download_source_url/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/provision_profile/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_claro/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_olivero/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/theme_stark/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.circleci/config.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/CircleCiConfigTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_no_theme/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/handler_process/tools_none/.github/workflows/build-test-deploy.ymlis excluded by!.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (4)
.circleci/config.yml.circleci/vortex-test-common.yml.github/workflows/build-test-deploy.ymltests/phpunit/CircleCiConfigTest.php
💤 Files with no reviewable changes (1)
- .circleci/vortex-test-common.yml
|
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2346 +/- ##
==========================================
- Coverage 78.86% 78.35% -0.52%
==========================================
Files 124 117 -7
Lines 6488 6329 -159
Branches 44 0 -44
==========================================
- Hits 5117 4959 -158
+ Misses 1371 1370 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
5fc1740 to
6b91529
Compare
This comment has been minimized.
This comment has been minimized.
|
|
|
6b91529 to
101818d
Compare
101818d to
609f307
Compare
This comment has been minimized.
This comment has been minimized.
|
|
|
|
Closes #2154
Summary by CodeRabbit
Chores
Tests