Skip to content

[build] Remove update_gh_pages in favor of CI workflow#16977

Merged
titusfortner merged 2 commits intotrunkfrom
rake_update_docs
Jan 22, 2026
Merged

[build] Remove update_gh_pages in favor of CI workflow#16977
titusfortner merged 2 commits intotrunkfrom
rake_update_docs

Conversation

@titusfortner
Copy link
Member

@titusfortner titusfortner commented Jan 22, 2026

User description

💥 What does this PR do?

Remove the update_gh_pages function and all skip_update references from Rakefile and CI workflows.

  • Remove update_gh_pages function from Rakefile
  • Remove skip_update argument handling from all *:docs tasks (java, py, rb, dotnet, node)
  • Simplify all:docs task to no longer pass skip_update arguments
  • Update .github/workflows/update-documentation.yml to remove skip_update from the run command

🔧 Implementation Notes

The documentation update workflow should be responsible for branch management and commits in the CI

💡 Additional Considerations

More rakefile updates incoming.

🔄 Types of changes

  • Cleanup (formatting, renaming)

PR Type

Enhancement


Description

  • Remove update_gh_pages function from Rakefile

  • Remove skip_update argument handling from language-specific docs tasks

  • Simplify all:docs task to invoke language tasks without skip_update

  • Update CI workflow to remove skip_update from documentation generation command


Diagram Walkthrough

flowchart LR
  A["Rakefile docs tasks"] -->|"remove skip_update args"| B["Simplified task invocation"]
  C["update_gh_pages function"] -->|"deleted"| D["CI workflow responsibility"]
  E["GitHub Actions workflow"] -->|"remove skip_update param"| F["Cleaner command execution"]
Loading

File Walkthrough

Relevant files
Configuration changes
update-documentation.yml
Remove skip_update from workflow command                                 

.github/workflows/update-documentation.yml

  • Remove skip_update argument from the documentation generation command
  • Simplify the run command to only pass language and docs task
+1/-1     
Cleanup
Rakefile
Remove update_gh_pages and skip_update handling                   

Rakefile

  • Delete update_gh_pages function entirely (48 lines removed)
  • Remove skip_update conditional logic from all language-specific docs
    tasks (java, py, rb, dotnet, node)
  • Simplify all:docs task to invoke language tasks without skip_update
    arguments
  • Update all:docs task description from "Update" to "Build"
+7/-50   

@titusfortner titusfortner requested a review from Copilot January 22, 2026 16:12
@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Jan 22, 2026
@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 22, 2026

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 22, 2026

PR Code Suggestions ✨

Latest suggestions up to 426de98

CategorySuggestion                                                                                                                                    Impact
Learned
best practice
Validate workflow inputs before use

Validate ${{ needs.parse.outputs.language }} against an allowlist and quote it
before using it in a shell command to prevent unexpected/unsafe values from
being executed.

.github/workflows/update-documentation.yml [80]

-run: ./go ${{ needs.parse.outputs.language }}:docs
+run: |
+  lang="${{ needs.parse.outputs.language }}"
+  case "$lang" in
+    java|py|rb|dotnet|javascript) ;;
+    *) echo "Invalid language: $lang" >&2; exit 1 ;;
+  esac
+  ./go "${lang}:docs"
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Add explicit validation/guards at integration boundaries (e.g., GitHub Actions contexts/outputs) by checking presence/allowed values and sanitizing before use.

Low
  • More

Previous suggestions

✅ Suggestions up to commit df10de0
CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix documentation artifact path
Suggestion Impact:The workflow artifact-path was changed to build/docs/api/**/*, matching the suggested fix to capture the generated documentation output directory.

code diff:

@@ -79,7 +79,7 @@
       ref: ${{ inputs.tag }}
       run: ./go ${{ needs.parse.outputs.language }}:docs
       artifact-name: documentation
-      artifact-path: docs/api/**/*
+      artifact-path: build/docs/api/**/*

Update the artifact-path in the GitHub workflow from docs/api// to
build/docs/api/**/
to correctly capture the generated documentation.**

.github/workflows/update-documentation.yml [80-82]

 run: ./go ${{ needs.parse.outputs.language }}:docs
-artifact-path: docs/api/**/*
+artifact-path: build/docs/api/**/*

[Suggestion processed]

Suggestion importance[1-10]: 9

__

Why: This is a critical fix. The PR removes the step that moved documentation from build/docs/api to docs/api, but it fails to update the artifact-path in the workflow, which would cause the job to fail to capture any artifacts.

High
General
Use task dependencies for docs

Refactor the :docs Rake task to use task dependencies instead of explicit invoke
calls for better readability and idiomatic style.

Rakefile [1429-1435]

-task :docs do
-  Rake::Task['java:docs'].invoke
-  Rake::Task['py:docs'].invoke
-  Rake::Task['rb:docs'].invoke
-  Rake::Task['dotnet:docs'].invoke
-  Rake::Task['node:docs'].invoke
-end
+task :docs => ['java:docs', 'py:docs', 'rb:docs', 'dotnet:docs', 'node:docs']
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly proposes using Rake's idiomatic dependency syntax for an aggregate task, which improves code clarity and conciseness. While the current implementation is functional, this change aligns better with Rake best practices.

Low

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes the update_gh_pages function from the Rakefile and delegates documentation publishing responsibility to the CI workflow. The change eliminates the skip_update parameter that was used to conditionally skip gh-pages updates when tasks were invoked from the CI.

Changes:

  • Removed the update_gh_pages function that handled gh-pages branch checkout and file movement
  • Removed skip_update parameter handling from all language-specific docs tasks (java, py, rb, dotnet, node)
  • Simplified all:docs task to directly invoke language docs tasks without parameter passing
  • Updated CI workflow command to remove the skip_update argument

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
Rakefile Removed update_gh_pages function and all skip_update conditional logic; simplified all:docs task invocation pattern
.github/workflows/update-documentation.yml Removed skip_update argument from docs generation command

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@titusfortner titusfortner merged commit 98690e2 into trunk Jan 22, 2026
29 checks passed
@titusfortner titusfortner deleted the rake_update_docs branch January 22, 2026 16:34
titusfortner added a commit that referenced this pull request Jan 22, 2026
* [build] Remove update_gh_pages in favor of CI workflow

* [build] Fix artifact path and restore argument forwarding
titusfortner added a commit that referenced this pull request Jan 23, 2026
* [build] Remove update_gh_pages in favor of CI workflow

* [build] Fix artifact path and restore argument forwarding
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants