Commit Graph
701 Commits
Author SHA1 Message Date
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
Hugo, CY LAU 0c95007763 perf(parser): add collection capacity hints to known-size loops (#1791)
- For result sets with known sizes, it's more efficient
  to supply the size as a capacity hint.
2026-06-25 19:42:37 -07:00
Bhavesh Varma af71f87408 Remove duplicate release workflow that double-builds and races on every tag (#1781)
- Closes #1755.
2026-06-25 17:48:11 -07:00
J Logan 4a6084cc95 Remove network variant computation from API server. (#1814)
- Closes #1812.
- The network plugin is the source of truth for the variant, if any,
that applies to the network. Resolving a missing variant configuration
option in the API server can create a situation where the variant the
runtime uses for interface selection is incorrect.
- Adds serial suites trait to tests to see whether it helps current CI
issues.

## Type of Change
- [x] Bug fix
- [ ] New feature  
- [ ] Breaking change
- [ ] Documentation update

## Motivation and Context
Fixes a flaw in our interface strategy logic.

## Testing
- [x] Tested locally
- [ ] Added/updated tests
- [ ] Added/updated docs
2026-06-25 14:06:45 -07:00
SEPURI-SAI-KRISHNA 137b3bdaf0 Fix/exec empty arguments crash (#1783)
- `swift-argument-parser` enforces that `arguments` is
  non-empty before `run()` is invoked, so the force-unwrap
  of `arguments.first!` is not reachable in practice. However,
  the guard makes the invariant explicit in the code itself,
  removes reliance on ArgumentParser's implicit
  enforcement, and would satisfy force-unwrap lint rules
  if enabled in the future.
2026-06-25 12:40:39 -07:00
J Logan 984c4c2c5a Disable flaky CLI test temporarily. (#1828)
- PRs are backed up. We need to rework the CLI tests
  to shorten test time and fix conflicts between tests.

## Testing
- [ ] Tested locally
- [x] Added/updated tests
- [ ] Added/updated docs
2026-06-25 08:42:01 -07:00