Commit Graph
706 Commits
Author SHA1 Message Date
Ari RubinsteinandAri Rubinstein b229cecb53 Allow custom kernel boot args via --kernel-arg (#1744)
Signed-off-by: Ari Rubinstein <22369+arirubinstein@users.noreply.github.com>
Co-authored-by: Ari Rubinstein <22369+arirubinstein@users.noreply.github.com>
2026-07-27 13:44:51 -04:00
J Logan d1d763530d Fix BuilderStart race, parallelize container build tests. (#2002)
- Closes #2001.
- Handle "container exists" error gracefully instead
  of failing, when trying to start the buildkit container.
- Move build tests to parallel suites, while the builder
  lifecycle tests remain serial. Parallel builds don't
  use the fixture lock that deletes and restarts the
  builder and runs a build block in isolation.
2026-07-23 15:50:59 -07:00
adityabagchi24 78e2cb4417 Use log instead of print for system start status messages (#1889) 2026-07-22 21:40:43 -07:00
J Logan 9af6e0e5e5 Integration test - miscellaneous fixture and test refinements. (#1993) 2026-07-22 17:19:14 -07:00
J Logan 72431b0458 Add OCI maskedPaths and readonlyPaths support to Container API. (#1996) 2026-07-22 16:28:26 -07:00
Kathryn Baldauf 9be73ed6bd Add missing dependencies to new ContainerTestSupport package (#1994)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-22 16:01:09 -07:00
J Logan f0b2b96a26 Use enum for warmup images. (#1990)
- Closes #1982.
- Makes warmup image code more readable in tests.
2026-07-22 09:45:33 -07:00
J Logan 968dbe49c1 Downgrade swift-collections to 1.5.1. (#1984) 2026-07-22 08:21:50 -07:00
Kathryn Baldauf a51d54b553 Container test fixture package (#1887)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-21 18:15:47 -07:00
Kathryn Baldauf f4757afa43 Pass build config in when building protoc dependencies (#1972)
- The protobuf makefile relies on being able to find
  the built protoc dependencies under the build
  directory. Since we were not passing the build
  configuration to the swift command to build those
  dependencies, the built binaries were going into
  the debug build folder. If make protos was run
  when `BUILD_CONFIGURATION=release`, then
  we'd fail to find the dependencies since the build
  folder should now be the release build folder.
  This PR fixes that.

Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-21 17:48:11 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 0c0d3c6ff1 ci: bump the github-actions group across 1 directory with 3 updates (#1983)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 17:46:37 -07:00
Kathryn Baldauf ec448129da Reword DNS container name resolution doc information (#1960)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-21 17:43:02 -07:00
J Logan b130babb15 Use ordered journal mode for unpacked images. (#1974) 2026-07-21 17:12:01 -07:00
J Logan a6813ed66f Periodic dependency updates. (#1981) 2026-07-21 16:42:33 -07:00
Kathryn Baldauf 06127de1cd Update containerization dependency with new EXT4Unpacker func definition (#1973)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-21 13:52:31 -07:00
Saehej Kang 90be1878d8 [gitignore]: ignore vscode workspace files (#1966) 2026-07-21 11:23:08 -07:00
J Logan 1e6f78255e Address flaky TestCLIKernelSetSerial suite. (#1976) 2026-07-21 10:40:49 -07:00
J Logan e34b1b7fc8 Fix machine ID length test. (#1971) 2026-07-20 16:29:05 -07:00
Kathryn Baldauf 3310f342e8 Do not follow destination symlink when copying user configuration (#1957)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-20 15:46:42 -07:00
Kathryn Baldauf 3f543ba12f Remove force unwraps on XPC error set/get (#1958)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-20 15:14:05 -07:00
Kathryn Baldauf 9e1d6e8b6e Validate container ID from XPC requests (#1956)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-20 10:42:37 -07:00
Saehej Kang 14233cee65 [package]: bump container-builder-shim to 0.13.0 (#1953) 2026-07-17 08:15:19 -07:00
J Logan 07ff3c0a72 Restore --skip-build, enable import testable for release builds. (#1955) 2026-07-16 20:44:37 +05:30
J Logan 4dfa3d49d9 Remove --skip-build from test Makefile target. (#1951) 2026-07-15 17:48:12 -07:00
J Logan 608902412d Add commit/issue alert to PR template. (#1945) 2026-07-13 13:36:49 -07:00
0x4C33 57b07fa2ac Verify kernel archive integrity (#1703)
Closes https://github.com/apple/container/issues/1687

The default kernel archive is downloaded from a remote release URL
during first-run setup and via `container system kernel set
--recommended`. Previously, the archive contents were not verified after
download, so integrity depended on HTTPS and the release artifact
remaining unchanged.

This change adds digest verification for kernel archives. The
recommended/default kernel now has pinned digest metadata using an
algorithm-prefixed value such as `sha256:<hex>`. `container system
kernel set --tar` accepts `--digest`; remote tar URLs require it, and
local tar archives can also be verified before unpacking and
installation.

The system config also supports `kernel.digest`, and a custom
`kernel.url` must provide a digest for that archive.
2026-07-13 13:04:39 -07:00
Aditya Ramani 5f277a9cbf Use containerization version 0.37.0 (#1932)
Update the containerization dependency to 0.37.0 to pick up bug fixes
2026-07-10 20:44:39 -07:00
J Logan e1a5cfdc70 Updates containerization to 0.36.0. (#1912)
- Picks up the workaround removal for grpc-swift in Vminitd.
2026-07-07 13:52:19 -07:00
adityabagchi24 36dc063902 Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… (#1790)
- Fixes #1789.
- Release 2.9.0 of `grpc-swift-nio-transport` fixes
  an HTTP/2 initialization race where the server could
  send SETTINGS before gRPC handlers are added to
  the pipeline, causing the client to hang. The new
  `WrappedChannel.wrapping(config:serviceConfig:makeChannel:)`
  API calls `configure(channel)` inside the channel
  initializer, ensuring the pipeline is set up before any inbound
  bytes arrive. This eliminates the need for the custom
  `HTTP2ConnectBufferingHandler` workaround.
2026-07-07 10:23:50 -07:00
Noah Thornton edd6dee2db Integration coverage xpc helpers (#1551)
- This fixes the LLVM coverage data not properly being emitted for XPC
  services. It requires piping the `LLVM_PROFILE_FILE` environment
  variable through to all the services and plugins. The variable itself
  also required the "%c" formatter to ensure that it continuously emits
  coverage data, otherwise when XPC services are killed via "bootout" they
  do not emit coverage.
2026-07-06 15:43:30 -07:00
J Logan 3ad6e9b8ba Removes obsolete CLITests directory. (#1886)
- Closes #1833.
2026-07-02 17:30:31 -07:00
J Logan 76f387e3be Restore reverted migrations, migrate last tests. (#1880)
- Part of #1833.
- CLI progress and registry test migrations were inadventently reverted
by #1857.
- Migrate TestCLINoParallelCases to TestCLIImagePruneSerial and
TestCLINetworkPruneSerial.
- Clean up test selection patterns in Makefile.
- Remove all legacy CLITests files.
- Use swift-testing `withKnownIssue` to run but ignore failures on flaky
`testCreateNameLongestValid` and `testIsolatedNetwork`.
- Extracts a fixture helper for tests requiring a retry loop.
2026-07-02 15:34:46 -07:00
Kathryn Baldauf d9fdf39af6 Add TestCLISystemLogs and TestCLITermIO integration tests in new integration test suite (#1879)
This PR adds two test suites that were missing from the new integration
test suite

Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-01 20:18:31 -07:00
J Logan 5973b9cc62 Finalize Makefile for integration test rework. (#1878)
- Part of #1833.
- Replace old targets with new ones.
- Try increased parallelism after test tweaks in #1857.
- Exclude test files from coverage analysis.
1.1.0
2026-07-01 18:25:34 -07:00
Kathryn Baldauf 4a79060595 Ensure test filenames match test suite names and each file has a single suite defined (#1877)
This PR cleans up some of the new IntegrationTests files to ensure that
each file has a single test suite defined within it and the name of the
file matches the name of the test suite.

Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-07-01 16:03:03 -07:00
J Logan 69a2505aeb Migrates container run integration tests. (#1857)
- Part of #1833.
2026-07-01 13:23:16 -07:00
J Logan 9bd3c47345 Migrates container create, run-lifecycle, exec, remove, copy. (#1844)
- Part of #1833.
2026-06-30 17:37:51 -07:00
J Logan 88ab3192f9 Migrate image, volume and miscellaneous system tests. (#1868)
- Part of #1833.
- Distributes fixture extensions for images and containers added as part
of previous builder PR to more sensible locations.
2026-06-30 15:25:16 -07:00
Kathryn Baldauf 811abf75bf Add checksum validation to hawkeye installation (#1869)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-06-30 11:08:49 -07:00
J Logan 586fa07d2a Migrate registry tests to new test support types. (#1845)
- Part of #1833.
2026-06-30 10:40:26 -07:00
J Logan d29e6edd5e Migrates network integration tests. (#1858)
- Part of #1833.
2026-06-30 10:00:34 -07:00
J Logan 3842977f4a Migrate basic system tests to new test support types. (#1841)
- Part of #1833.
2026-06-29 16:40:06 -07:00
J Logan c37c405bbd Migrates container machine tests. (#1856)
- Part of #1833.
2026-06-29 15:58:19 -07:00
J Logan 6317a832d4 Adds build fixture and migrates build CLI tests. (#1848)
- Part of #1833.
- Also changes test directory names to include test ID so that they are
easily identifiable.
2026-06-29 12:12:31 -07:00
Kathryn Baldauf c34d340a60 Update containerization import to 0.35.0 (#1842)
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
2026-06-26 15:35:36 -07:00
J Logan be3b1f20c4 Migrate some container tests, remove concurrent demo tests. (#1840)
- Part of #1833.
- Tweaks `ContainerFixture.withContainer()` to support the legacy
`longRun()` pattern without boilerplate.
2026-06-26 14:17:18 -07:00
J Logan 649164d9e2 Enhanced test fixtures for integration tests. (#1834)
- Part of #1833.
- Adds `ContainerFixture` with scoped resource lifecycle and cleanup in
place of implementation inheritance for test support functions. The
fixture also handles resource prefixing and uses a more ergonomic
`CommandResult` in place of a tuple for return values.
- `ImageWarmup` suite pre-pulls well-known images, and
`copyWarmupImage()` tags test-local refs, keeping the canonical image
store untouched.
- Three-phase `integration-new`: warmup, followed by concurrent tests
(managed by the swift test
`--experimental-maximum-parallelization-width` flag), followed by
serialized tests.
- `coverage-new` merges unit + integration-new profraw, replacing
`coverage` in CI as a migration progress indicator.
- Updates GH workflow so non-coverage invokes both the `integration` and
`integration-new` Makefile targets, while coverage runs invoke the
`coverage-new` target.
2026-06-26 12:00:44 -07:00
John CostaandClaude Opus 4.8 aa7fef3d1d Route container image save reference list to stderr in stdout mode (#1804)
- Fixes #1801.
- When `container image save` runs without `--output`,
  stdout carries the OCI tar archive. The command writes 
  the archive bytes to stdout and then `print(reference)`s
  each saved image reference to stdout afterward,
  appending non-archive text after the tar EOF marker,
  which will cause strict tar/OCI consumers to fail.
- This routes the saved-reference list to stderr in the
  no-`--output` branch, so stdout contains only archive
  bytes. When saving to a file via `--output`, stdout is
  free, so the references continue to print to stdout
  exactly as before.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:04:30 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 27acdbe2f8 ci: bump the github-actions group across 1 directory with 2 updates (#1792)
- Updates `actions/checkout` from 6.0.3 to 7.0.0
- Updates `softprops/action-gh-release` from 3.0.0 to 3.0.1

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 21:44:11 -07:00
SEPURI-SAI-KRISHNA 0b6c79f3d3 fix: propagate error from createDirectory in system start (#1785)
- `SystemStart` used `try!` when creating the apiserver
  data directory. File system operations can fail for
  legitimate reasons: insufficient permissions, disk full,
  read-only volume. Crashing the process in these cases
  gives the user no actionable error message.
- Replaced with `try` so the error propagates up and is
  surfaced cleanly.
2026-06-25 21:38:40 -07:00