Upstream sync: shared image builds, settings flow, and warning cleanup#550
Upstream sync: shared image builds, settings flow, and warning cleanup#550linuxdevel wants to merge 42 commits intoNVIDIA:mainfrom
Conversation
…DIA#442) The vouch-check workflow was closing PRs from NVIDIA org members because the GITHUB_TOKEN lacks read:org scope, causing orgs.checkMembershipForUser to return 404 for non-public members. The catch block silently swallowed these as expected 'not found' responses. Add an author_association check from the webhook payload as the primary bypass. GitHub sets this field server-side (MEMBER, OWNER, COLLABORATOR) regardless of membership visibility, with no extra token permissions needed. The existing API calls are kept as fallbacks. Fixes the false positive that closed NVIDIA#430. Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
…load (NVIDIA#444) The webhook payload field context.payload.pull_request.author_association is unreliable under pull_request_target events — it was absent or not populated, causing the previous fix (NVIDIA#442) to still fail. Switch to fetching author_association via pulls.get REST API, which only needs pull-requests permission (already granted) and reliably returns MEMBER for org members regardless of membership visibility. Also removes the redundant orgs.checkMembershipForUser and repos.checkCollaborator fallbacks, which suffered from the same GITHUB_TOKEN permission limitation that started this bug. Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
…NVIDIA#418) The trigger-wheel-publish job was downloading the wheel artifact onto a persistent self-hosted runner just to glob the filenames. Since download-artifact does not clean the destination directory, stale .whl files from every previous run accumulated in release/ and were all sent to GitLab as WHEEL_FILENAMES. Confirmed on the runner: /home/ubuntu/actions-runner/_work/OpenShell/ OpenShell/release/ contained 120+ wheels spanning versions 0.0.5 through 0.0.10. Fix: capture wheel filenames as a job output in build-python-wheels and pass them directly to trigger-wheel-publish. The trigger job no longer downloads the artifact at all — it only needs the filenames to construct GitHub release asset URLs for GitLab/Kitmaker.
…VIDIA#445) The GITHUB_TOKEN cannot determine org membership — it lacks read:org scope and this is not configurable via the permissions block. Both author_association and orgs.checkMembershipForUser return NONE/404 for org members (even public ones) when called with the repo-scoped token. Use an ORG_READ_TOKEN secret (fine-grained PAT with read:org) when available, falling back to GITHUB_TOKEN. Also restores the checkCollaborator fallback since the PAT can resolve that too. Setup required: create a fine-grained PAT with Organization > Members > Read permission, then add it as a repo secret named ORG_READ_TOKEN. Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
…#446) The ORG_READ_TOKEN (read:org PAT) was being used for all API calls, including closing PRs and posting comments, which it lacks permissions for. Split into two steps: 1. Org membership check — uses ORG_READ_TOKEN exclusively 2. VOUCHED.td check + close — uses default GITHUB_TOKEN (has repo write) Step 2 is skipped entirely if step 1 confirms org membership. Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
NVIDIA#452) The secrets context is not available in step-level if expressions in GitHub Actions — only in with and env blocks. This caused the workflow file to be invalid, failing every run with: Unrecognized named-value: 'secrets' Fix by exporting the secret to a job-level env var and checking that in the step condition instead. Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
* add guidance for OpenAI-compatible cloud providers * add provider list and xref link * add xref * add provider name value column
* feat(providers): add GitHub Copilot CLI agent provider Source: https://docs.github.com/en/copilot/reference/copilot-allowlist-reference
… chart (NVIDIA#497) Disables GPU Feature Discovery and Node Feature Discovery DaemonSets and overrides the device plugin's default nodeAffinity to null so it schedules unconditionally on the single-node gateway without requiring NFD/GFD labels. Setting affinity to an empty map ({}) does not override the chart defaults because Helm deep-merges user values with chart defaults. Using null explicitly removes the key, causing the chart template to skip the affinity block entirely.
…, formatters, and tracing layers (NVIDIA#489) feat(ocsf): create openshell-ocsf crate with OCSF v1.7.0 event types, formatters, and tracing layers
* feat(gateway/sandbox): add global and sandbox runtime settings flow
…y with read path (NVIDIA#515)
|
Thank you for your interest in contributing to OpenShell, @linuxdevel. This project uses a vouch system for first-time contributors. Before submitting a pull request, you need to be vouched by a maintainer. To get vouched:
See CONTRIBUTING.md for details. |
|
Thank you for your submission! We ask that you all sign our Developer Certificate of Origin before we can accept your contribution. You can sign the DCO by adding a comment below using this text: I have read the DCO document and I hereby sign the DCO. 10 out of 11 committers have signed the DCO. |
|
Sorry, this was my AI going crazy. It was supposed to create a PR on my fork. |
Summary
Dockerfile.imagespath and the current provider-agnostic runtime bundle flowmise run pre-commitandmise run ciTest Plan
mise run pre-commitmise run ci