Skip to content

Use central reusable website CI workflow#1227

Open
PrzemyslawKlys wants to merge 4 commits intomasterfrom
codex/website-reusable-workflows
Open

Use central reusable website CI workflow#1227
PrzemyslawKlys wants to merge 4 commits intomasterfrom
codex/website-reusable-workflows

Conversation

@PrzemyslawKlys
Copy link
Member

@PrzemyslawKlys PrzemyslawKlys commented Mar 25, 2026

Summary

  • replace the local website CI implementation with a thin call to the central PowerForge reusable workflow
  • pin the reusable workflow to immutable commit EvotecIT/PSPublishModule@a9f52fd6a17cb066fbdfa7e451ac6d30898cef55
  • keep IntelligenceX on its current explicit PSPublishModule engine commit pin 4751f06a2a52d926fc222a709ea6f0fff3d022c7 until it adopts an engine lock file
  • shrink repo-local YAML while moving orchestration into PSPublishModule

Dependency

Notes

  • this is the first step only for IntelligenceX website workflows
  • deploy-website.yml still has repo-specific deploy and Cloudflare behavior and can be folded into reusable workflows next

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3914acecce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

if [ -n "${PLAYWRIGHT_BROWSERS_PATH:-}" ] && [ -d "${PLAYWRIGHT_BROWSERS_PATH}" ]; then
rm -rf "${PLAYWRIGHT_BROWSERS_PATH}"
fi
uses: EvotecIT/PSPublishModule/.github/workflows/powerforge-website-ci.yml@codex/testimox-doctor-seo-fix

Choose a reason for hiding this comment

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

P1 Badge Pin reusable workflow to an immutable ref

Calling the reusable workflow via the branch ref @codex/testimox-doctor-seo-fix makes website-ci non-deterministic and brittle: if that branch is force-pushed or deleted after the upstream PR is merged/cleaned up, this workflow will start failing before any job steps run. Pinning to a commit SHA (or a stable tag) avoids sudden CI breakage and keeps review/build behavior reproducible.

Useful? React with 👍 / 👎.

Choose a reason for hiding this comment

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

IntelligenceX triage: The reusable workflow is still referenced by a branch name rather than an immutable ref, so the non-determinism concern remains valid.

Assessed commit: 3914ace

Diff range: PR base → head (66eaa6d..3914ace)

@intelligencex-review
Copy link

intelligencex-review bot commented Mar 25, 2026

IntelligenceX Review

Reviewing PR #1227: Use central reusable website CI workflow
Reviewed commit: 73fe47f

Merge blockers: items in Todo List ✅ and Critical Issues ⚠️ sections (if present). Other Issues 🧯 are suggestions.

Auto-resolve (AI): 0 resolved, 2 kept (candidates 2, assessments 2, attempts 2, evidence_rejected 0, resolve_failed 2, sweep_resolved 0, missing_ids 0, duplicate_ids 0).
Auto-resolve permissions: 4 addressed threads could not be closed automatically because GitHub denied review-thread resolution for GITHUB_TOKEN and INTELLIGENCEX_GITHUB_TOKEN.
Check repo Settings -> Actions -> General -> Workflow permissions and set GITHUB_TOKEN to Read and write permissions.
Also confirm the IntelligenceX Review GitHub App has Pull requests: Read & write and is installed on this repository.

Workflow guardrail active: excluded 1 workflow file at commit 73fe47f; reviewed 2 non-workflow file(s).

Summary 📝

This PR is mostly a cleanup/migration: the website CI now delegates to a pinned reusable workflow, and the website theme gains new API docs UI styles. The workflow change looks correct and improves maintainability; I did not find any merge-blocking issues in the diff provided.

Todo List ✅

None.

Other Issues 🧯

  • .github/workflows/website-ci.yml: moving validation into the reusable workflow reduces repo-local visibility; ensure the upstream workflow still performs the previous output assertions (.nojekyll, key HTML files, stylesheet presence), or regressions may become harder to diagnose.
  • Website/static/css/api.css: the custom combobox hides the native select by moving it off-screen with pointer-events:none; this is fine only if the JS enhancement preserves keyboard access and ARIA wiring, otherwise accessibility and fallback behavior can regress.
  • Website/static/css/api.css: .api-sidebar changed from overflow-y:auto to overflow:hidden; this relies on .sidebar-nav being the only scrolling region, so verify long headers/filter content cannot become inaccessible in smaller viewports.
  • Website/themes/intelligencex/theme.manifest.json: adding more selectors to the animation/exclusion manifest increases coupling to CSS class names; consider keeping these selectors aligned with a single source of truth if the theme tooling supports it.

Other Reviews 🧩

  • stale: previous concern about pinning the reusable workflow ref is addressed; this PR now uses a commit SHA for the reusable workflow call.

Tests / Coverage 🧪

  • CI workflow migration: verify the reusable workflow executes on both self-hosted and GitHub-hosted runner paths with the current runner_labels_json expression.
  • UI/CSS changes: add or run visual/regression coverage for API docs sidebar, namespace selector, overview group toggle, and collapsed TOC behavior in both dark and light themes.
  • Responsive behavior: test narrow viewport and long-content cases for the sticky sidebar and nested scroll regions.

Next Steps 🚀

  • Merge once upstream reusable workflow coverage is confirmed to include the old website output checks.
  • Smoke-test the API docs pages in both themes and at least one small-screen breakpoint.

Static Analysis Policy 🧭

  • Config mode: respect
  • Packs: All Essentials (50)
  • Rules: 108 enabled
  • Rule list display: up to 10 items per section
  • Enabled rules preview: CA2000 (Dispose objects before losing scope), CA1062 (Validate arguments of public methods), SA1600 (Elements should be documented), CA1016 (Mark assemblies with assembly version), CA1018 (Mark attributes with AttributeUsageAttribute), CA1041 (Provide ObsoleteAttribute message), CA1047 (Do not declare protected member in sealed type), CA1050 (Declare types in namespaces), CA1061 (Do not hide base class methods), CA1067 (Override Object.Equals(object) when implementing IEquatable<T>) (truncated)
  • Result files: 2 input patterns, 1 matched, 1 parsed, 0 failed
  • Status: pass
  • Rule outcomes: 0 with findings, 108 clean
  • Failing rules: none
  • Clean rules: CA2000 (Dispose objects before losing scope), CA1062 (Validate arguments of public methods), SA1600 (Elements should be documented), CA1016 (Mark assemblies with assembly version), CA1018 (Mark attributes with AttributeUsageAttribute), CA1041 (Provide ObsoleteAttribute message), CA1047 (Do not declare protected member in sealed type), CA1050 (Declare types in namespaces), CA1061 (Do not hide base class methods), CA1067 (Override Object.Equals(object) when implementing IEquatable<T>) (truncated)
  • Outside-pack rules: none

Static Analysis 🔎

  • Findings: 0 (no issues at or above configured severity)

IntelligenceX thread triage

Assessed commit: 73fe47f

Diff range: PR base → head (66eaa6d..73fe47f)

Needs attention:

  • PRRT_kwDORAe5k852txw1: The reusable workflow is now pinned to an immutable commit SHA, which addresses the non-deterministic branch-ref concern. (resolve failed: primary: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]}; fallback: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]})
  • PRRT_kwDORAe5k852tyON: The comment requested pinning the reusable workflow to an immutable ref, and the current diff shows a specific commit SHA. A prior triage reply also confirms it is satisfied. (resolve failed: primary: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]}; fallback: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]})

Model & Usage 🤖

  • Model: gpt-5.4
  • Length: medium
  • Mode: hybrid
  • Reasoning: not configured
  • Usage: 5h limit: 63% remaining | weekly limit: 72% remaining | code review weekly limit: 31% remaining | credits: 0

if [ -n "${PLAYWRIGHT_BROWSERS_PATH:-}" ] && [ -d "${PLAYWRIGHT_BROWSERS_PATH}" ]; then
rm -rf "${PLAYWRIGHT_BROWSERS_PATH}"
fi
uses: EvotecIT/PSPublishModule/.github/workflows/powerforge-website-ci.yml@codex/testimox-doctor-seo-fix

Choose a reason for hiding this comment

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

Pin this reusable workflow to an immutable commit SHA (or stable tag), not a branch name; branch refs make CI non-reproducible and can fail if the branch is rewritten or deleted.

Choose a reason for hiding this comment

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

IntelligenceX triage: The workflow reference has been updated from a branch ref to a specific commit SHA, satisfying the request to pin it immutably. (resolve failed: primary: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]}; fallback: GitHub GraphQL request returned errors: {"data":{"resolveReviewThread":null},"errors":[{"type":"FORBIDDEN","path":["resolveReviewThread"],"extensions":{"saml_failure":false},"locations":[{"line":2,"column":3}],"message":"Resource not accessible by integration"}]})

Assessed commit: 3da23f8

Diff range: PR base → head (66eaa6d..3da23f8)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant