20 Commits
Author SHA1 Message Date
Jing Chen 86052cdfbf Update gVisor GOVERNANCE.md
Reference: https://github.com/cncf/project-template/blob/main/GOVERNANCE-maintainer.md
2026-09-06 09:41:16 +00:00
Jing Chen 5370dfb0cd check the license header on newly added files.
Fix #14564
2026-09-04 01:31:11 +00:00
Jing Chen b568325093 publish a release tag after the artifacts are uploaded.
A release tag was created before the release built, so a failed build left a
tag on GitHub with nothing behind it. release-20260824.0 is an example: the
build failed, but users still see a release that they cannot install.

Before
```
  make tag RELEASE_COMMIT=<sha> RELEASE_NAME=20260831.0 RELEASE_NOTES=<file>
                     │
  tag_release.sh     └─ pushes the annotated tag as  release-20260831.0   ← published immediately
                     │
        ┌────────────┴────────────┐
        │                         │
  Buildkite                  GitHub Actions
  (triggered by the tag)     release_mirror.yml
        ├─ make artifacts         ├─ poll GCS for artifacts (240 min timeout)
        ├─ make release           ├─ verify sha512
        └─ gcloud storage cp      └─ create the GitHub Release
           → gs://gvisor/releases/
```

After
```
  make tag RELEASE_COMMIT=<sha> RELEASE_NAME=20260831.0 RELEASE_NOTES=<file>
                     │
  tag_release.sh     └─ pushes the annotated tag as  staging-release-20260831.0
                     │
  Buildkite          ├─ tag.sh stage      restore release-20260831.0 locally (version stamping)
  (triggered by      ├─ make artifacts    x86_64 + aarch64
   the staging tag)  ├─ make release      sign, lay out repo/
                     ├─ gcloud storage cp → gs://gvisor/releases/
                     └─ tag.sh publish    push release-20260831.0, delete staging tag
                     │
  GitHub Actions     └─ release_mirror.yml  verify sha512, create the GitHub Release

```
2026-09-02 22:43:23 +00:00
Jing Chen 5867605e80 Make the bwrap alias a wrapper around the sandboxexec Go bindings.
bwrap previously built its own specs.Spec, wrote an OCI bundle and drove
runsc/container directly. It now only parses the bubblewrap command line
and translates it into sandbox.Options; //sandboxexec/sandbox owns the
bundle, the runsc invocation and the container lifecycle.
2026-08-31 01:51:10 +00:00
Jing Chen fbb3070ca5 Update GOVERNANCE.md. 2026-08-27 21:28:29 +00:00
Jing Chen ff3425ac1f Fix crash and resource-leak bugs in the containerd shim
- runsc/debug.go: the SIGUSR2 stack dumper never exited its loop, so one
signal pinned a core for the life of the shim.
- proc/init_state.go: the start-failure path closed p.io unconditionally,
but Init.Create leaves it nil for terminal containers. The nil deref
killed the shim, and with it the pod.
- proc/utils.go: getLastRuntimeError leaked the log file it opened, on
every failed runsc command.
- utils/volumes.go: configureShm wrote into a nil annotation map, which
IsSandbox permits.
- runsc/epoll.go: the cgroups v1 OOM watcher panicked on the first
publish failure, which is normal under CRI-O. Reuse forward's leniency
check; the panic under containerd is kept.
- runsccmd/runsc.go: cmdOutput returned slices aliasing sync.Pool buffers
that putBuf immediately recycled.
2026-08-26 22:47:36 +00:00
Jing Chen bb7d8eef62 fix SIGPIPE in the release mirror's latest-tag lookup
Update #14398
2026-08-25 02:14:02 +00:00
Jing Chen c6fa3dfd4e Mirror tagged releases to the GitHub Releases.
The Buildkite release pipeline uploads artifacts to gs://gvisor/releases,
but nothing publishes them as a GitHub Release, so the tags pushed by
tools/tag_release.sh carry no notes and no binaries.

Add a github action that triggers on release-* tags, waits for every release
object to appear in GCS, verifies each raw artifact against its published
sha512, creates or updates the release with a changelog.

It only mirrors what Buildkite already built; apt and the GCS bucket remain
canonical.
2026-08-24 22:51:45 +00:00
Jing Chen 8b9bd2d7cf vendor neutral AI contribution policy. 2026-08-24 17:45:39 +00:00
Jing Chen d39e34f62e Skip auto review bot if the branch is a fork. 2026-07-17 22:05:41 +00:00
Jing Chen b48a0c3c08 Fix some typos in gVisor repo.
The PR aims to verify the new OSS workflow.
2026-07-08 01:53:55 +00:00
Jing Chen acc0453db9 Add /add-syscall skill for automating syscall implementation
Provides a structured workflow for adding new syscalls or extending
partially-supported ones, with test-driven verification against both
native Linux and gvisor runsc.

Usage:
  /add-syscall <syscall-name-or-flag>

Examples:
  /add-syscall prctl PR_SET_CHILD_SUBREAPER

Generated-with: Claude Code (https://claude.com/claude-code)
2026-06-11 23:28:06 +00:00
Jing Chen 401f50ef54 Remove references to math/rand package's Read function.
The helper function is deprecated. The package gvisor.dev/gvisor/pkg/rand
depends on crypto/rand which performs worse thatn math/rand, the changes
are fine since they are not at any gVisor's hot path.

The ultimate goal is to migrate math/rand to math/rand/v2.
2024-10-16 18:17:15 +00:00
Jing Chen 9f93f73009 Simplify and format gVisor codebase.
The changes are just output of `gofmt -s -w .`.
2024-10-13 00:50:32 -07:00
Jing Chen c14005b364 Add an instruction to build specific targets. 2024-10-13 00:32:12 -07:00
Jing Chen 2e748c555a Fix cross initialization error in socket_netlink_route test. 2024-09-11 03:21:49 -07:00
Jing Chen 6bdc401440 Add CodeQL status badge for its visibility. 2023-09-14 15:30:55 -07:00
Jing Chen 007002cfe9 Add initial CodeQL config for gVisor. 2023-09-11 11:41:47 -07:00
Jing Chen 7433981075 initialize hostFeatureSet from init function 2021-10-23 15:39:57 -07:00
Jing Chen 9420f4d4b1 fix the failed test target //pkg/cpuid:cpuid_test on arm64. 2021-10-23 15:39:57 -07:00