Skip to content

Upstream sync: shared image builds, settings flow, and warning cleanup#550

Closed
linuxdevel wants to merge 42 commits intoNVIDIA:mainfrom
linuxdevel:upstream-sync
Closed

Upstream sync: shared image builds, settings flow, and warning cleanup#550
linuxdevel wants to merge 42 commits intoNVIDIA:mainfrom
linuxdevel:upstream-sync

Conversation

@linuxdevel
Copy link

Summary

  • sync the accumulated upstream branch changes across build pipelines, runtime-bundle image flows, provider/auth handling, gateway settings, server/sandbox updates, and related docs/CI wiring
  • keep the fork-owned Docker/build migration work aligned with the branch by retaining the shared Dockerfile.images path and the current provider-agnostic runtime bundle flow
  • reduce current Rust clippy warning noise in the touched crates, then verify the full branch with mise run pre-commit and mise run ci

Test Plan

  • mise run pre-commit
  • mise run ci
  • targeted crate checks and tests were also run during the warning-reduction batches before the final full-branch verification

linuxdevel and others added 30 commits March 21, 2026 01:08
…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
… 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
@linuxdevel linuxdevel requested a review from a team as a code owner March 23, 2026 18:25
@github-actions
Copy link

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:

  1. Open a Vouch Request discussion.
  2. Describe what you want to change and why.
  3. Write in your own words — do not have an AI generate the request.
  4. A maintainer will comment /vouch if approved.
  5. Once vouched, open a new PR (preferred) or reopen this one after a few minutes.

See CONTRIBUTING.md for details.

@github-actions
Copy link

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.
✅ (johntmyers)[https://github.com/johntmyers]
✅ (pimlock)[https://github.com/pimlock]
✅ (drew)[https://github.com/drew]
✅ (miyoungc)[https://github.com/miyoungc]
✅ (Kh4L)[https://github.com/Kh4L]
✅ (geelen)[https://github.com/geelen]
✅ (htekdev)[https://github.com/htekdev]
✅ (elezar)[https://github.com/elezar]
✅ (ParthSareen)[https://github.com/ParthSareen]
✅ (khaile)[https://github.com/khaile]
@linuxdevel
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the DCO Assistant Lite bot.

@github-actions github-actions bot closed this Mar 23, 2026
@linuxdevel
Copy link
Author

Sorry, this was my AI going crazy. It was supposed to create a PR on my fork.

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.