Skip to content

Text search operators test cases - #746

Open
vishakha041 wants to merge 8 commits into
developfrom
text-search-operators
Open

vishakha041 wants to merge 8 commits into
developfrom
text-search-operators

Conversation

@vishakha041

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Workflow dispatch and documentation publishing issues must be addressed before approval.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds text-search constraint operators and a containerized documentation publishing pipeline.

Changes:

  • Adds six text-search builders and bumps the SDK to 0.4.61.
  • Adds Docker-based docs publishing via rsync.
  • Updates DockerHub credentials and workflow automation.
File summaries
File Summary Findings
docs-content/publish.sh Publishes generated documentation via rsync. Moderate (1 vote): failed retries can leave orphaned generations. Moderate (1 vote): unbounded retries can hang on permanent failures.
docs-content/Dockerfile Builds the docs content image. No findings.
aperturedb/Constraints.py Adds text-search operators. Nit (3 votes): add focused tests for serialized operator tokens.
aperturedb/__init__.py Bumps the package version. No findings.
.github/workflows/release.yaml Updates DockerHub credentials. No findings.
.github/workflows/pr.yaml Updates DockerHub credentials. No findings.
.github/workflows/nightly.yml Updates DockerHub credentials. No findings.
.github/workflows/main.yml Publishes docs images and dispatches infrastructure updates. Moderate (1 vote): specify POST for gh api. Moderate (1 vote): avoid targeting develop from the main workflow.
.github/workflows/develop.yml Updates DockerHub credentials. No findings.
.github/workflows/dependencies.yml Updates DockerHub credentials. No findings.
Review details

Suppressed comments (4)

.github/workflows/main.yml:121

  • gh api defaults to GET when no HTTP method is supplied; --input - only supplies the JSON body, so this repository-dispatch endpoint will reject the request and the docs tag update will never be sent. Add --method POST (or retain the previous explicit POST request).
          | gh api repos/aperture-data/infra/dispatches --input -

.github/workflows/main.yml:120

  • This workflow runs only for pushes to main, but the replacement dispatch hard-codes environment:"develop". That sends a main release to the development target, while the removed docs deployment trigger is no longer invoked for production; use the production target for this workflow or derive the environment from the branch/release context.
          '{event_type:"update-tag",client_payload:{environment:"develop",component:"python-client",tag:$tag}}' \

docs-content/publish.sh:20

  • A failed first or second rsync can leave a partially populated generation behind, but the next loop iteration creates a new UUID and this script never removes the old destination. Repeated transient failures can therefore accumulate orphaned content in the docs store; generate the destination once before the retry loop so rsync can resume it, or explicitly clean up failed generations.
    read -r generation < /proc/sys/kernel/random/uuid
    generation=${generation//-/}
    destination="$target/$DOCS_PROVIDER/$generation"

docs-content/publish.sh:30

  • Any rsync failure, including a permanent configuration or permission error, enters this unbounded retry loop. The docs deployment can therefore run forever without publishing and never report the release as failed; retain startup retries if needed, but add a bounded retry/failure policy or otherwise distinguish transient receiver unavailability from permanent errors.
    else
        status=$?
        printf 'Upload failed (rsync exit %s); retrying in 10 seconds\n' "$status" >&2
        sleep 10
  • Files reviewed: 10/10 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread aperturedb/Constraints.py
Comment on lines +50 to +54
def contains(self, key, value) -> Constraints:
self.constraints[self._conjunction][key] = ["contains", value]
return self

def icontains(self, key, value) -> Constraints:
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.

3 participants