Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a47f757
Add test for branch fetches fixed by PR 2160
cjreynol Mar 2, 2026
75cb366
Update cvd start to handle single instances
SuperStrongDinosaur Jun 12, 2026
2505ccc
Use anonymous namespace.
ser-io Jun 15, 2026
a8a4ef0
Detect podman container environment.
ser-io Jun 15, 2026
1092739
`cvd start` now works after cvd detects is in container environment.
ser-io Jun 15, 2026
bc21629
HO snapshot e2e tests passes now.
ser-io Jun 15, 2026
5a0be3e
Delete the AospMainX64PhoneX2 test
Databean Jun 18, 2026
a4ce088
Split vulkan check into vulkan loader and vulkan driver checks
jmacnak Jun 18, 2026
b621b63
Add vhost_user_vsock support for cvd load configuration
k311093 Jun 17, 2026
f45cb05
Support v4l2_emulated_camera_mplane in media e2etests
chihchiachen Jun 25, 2026
3236c0e
Add required_ab tags on Kokoro tests
0405ysj Jul 8, 2026
7aad459
Disable all Kokoro test cases which requires ab
0405ysj Jul 8, 2026
39df2f3
Install `aapt` in container image used for running e2e tests.
ser-io Jul 9, 2026
5420410
Move v4l2 compliance test into its own directory.
ser-io Jul 8, 2026
d9268a2
Use CTS tests for verifying new emulated cameras devices.
ser-io Jul 9, 2026
d1e1eff
e2etests/cvd: add basic testing for sdv
chihchiachen Jun 30, 2026
98cd5cb
Add networking test case for cvdalloc
dxapd Jul 10, 2026
048007b
Use v4l2_emulated_camera_mplane in cts test.
ser-io Jul 15, 2026
914ff5f
improve the LaunchSingleInstance bypass in cvd start
SuperStrongDinosaur Jul 2, 2026
26b490d
#VibeCoding Support AT+CEID and AT+CATR in modem simulator
illusionaire Jul 21, 2026
fb44732
Update graphics detector to populate queue family info
jmacnak Jul 22, 2026
321a090
Return CommandOutput from CVDFetch
jmacnak Jul 23, 2026
f191b56
Return CommandOutput from CVDCreate
jmacnak Jul 23, 2026
537044e
Run CtsCameraTestCases:android.hardware.camera2.cts.CameraManagerTest
ser-io Jul 29, 2026
51e4d4b
Use fixed crun version in relevant GitHub Actions
ser-io Jul 30, 2026
5796b30
Add CtsCameraTestCases:android.hardware.camera2.cts.FastBasicsTest.
ser-io Jul 31, 2026
9056615
Fix build warnings in vhost_user_media
Databean Jul 31, 2026
648e764
Add CtsCameraTestCases:android.hardware.camera2.cts.CaptureResultTest
ser-io Jul 31, 2026
0dc1b57
cvd: Update --media flag format to [type]:[key=value]
ser-io Jul 31, 2026
bcddcad
[emulated_camera_mplane] Support dynamic resolution selection.
ser-io Jul 29, 2026
26cd136
#VibeCoding cuttlefish: Add iccprofile_for_sim1.xml and CTS profile f…
illusionaire Jul 29, 2026
04c2373
cuttlefish: Wire up Netsim UDS socket (--grpc_uds_path)
AlpineOolong Aug 4, 2026
c8b180e
feat(cvd): Inject NETSIM_GRPC_PORT as environment variable into netsimd
rmuthiah Aug 4, 2026
5d02a90
Update e2etests to account for new screen size
Databean Aug 5, 2026
f2224b1
emulated_camera_mplane: Add QVGA resolution support
chihchiachen Aug 10, 2026
77be4fb
Security kernels don't get installed unless dist-upgrade is run.
rmuthiah Jul 24, 2026
205659e
gigabyte-ampere-cuttlefish-installer: stop preinstalling kernels in t…
dimorinny Jul 31, 2026
cd4a333
gigabyte-ampere-cuttlefish-installer: pin the workflow actions
dimorinny Aug 4, 2026
f9b612d
gigabyte-ampere-cuttlefish-installer: wait for the vm to finish booting
dimorinny Aug 4, 2026
a35b667
Avoid dist-upgrade for now.
ser-io Aug 4, 2026
b57b9bc
Add a wait for boot on kernel base image creation
rmuthiah Aug 4, 2026
3e28f19
gigabyte-ampere-cuttlefish-installer: resolve the build id via status…
dimorinny Aug 5, 2026
8e6f5af
Revert "Disable all Kokoro test cases which requires ab"
0405ysj Jul 8, 2026
c1902bf
tools/*/cw/Containerfile is now based on trixie
0405ysj Aug 6, 2026
5550826
Override the default udev rule priority of debhelper, which is 60, to 88
carpalex Jun 25, 2026
4d7cf88
Use skiavk for hwui on gfxstream+angle based modes
jmacnak Jul 9, 2026
c761459
Update graphics availability logging to avoid truncation
jmacnak Jul 22, 2026
ee40174
Enable multi queue emulation when needed for hwui on skiavk
jmacnak Jul 22, 2026
118b1d5
Ignore unknown fields in graphics detector parsing
jmacnak Jul 1, 2026
31ef0f5
Update container image into trixie
0405ysj Jun 24, 2026
4889808
Container needs libvulkan1, not whole mesa-vulkan-drivers
0405ysj Jun 24, 2026
e87b1ad
Way of downloading debs on container should be compatible to trixie
0405ysj Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ runs:
apt-get install -y lsb-release
apt-get install -y pciutils
apt-get install -y apt-show-versions
apt-get install -y linux-image-arm64 linux-headers-arm64
- name: Setup base and non-free repository
shell: bash
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/run-cw-sharded-e2e-test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ runs:
with:
name: android-cuttlefish-e2etest-image-tar
github-token: ${{ github.token }}
- name: Upgrade crun
uses: ./.github/actions/upgrade-crun
- name: Run tests
shell: bash
env:
Expand Down
29 changes: 29 additions & 0 deletions .github/actions/upgrade-crun/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 'Upgrade crun'
description: 'Upgrade crun to latest version to avoid OCI compatibility issues'
runs:
using: "composite"
steps:
- name: Upgrade crun
shell: bash
run: |
TARGET_VERSION="1.28"
EXPECTED_HASH="2aa6b7024a9c9f153895c0d11ae233d3758f54844011c3a039e3e89048d01d42"
CRUN_PATH=$(which crun || echo "/usr/bin/crun")
echo "Current crun path: $CRUN_PATH"
if [ -f "$CRUN_PATH" ]; then
echo "Current crun version:"
$CRUN_PATH --version
fi

TEMP_CRUN=$(mktemp)
echo "Downloading crun $TARGET_VERSION..."
curl -L -o "$TEMP_CRUN" https://github.com/containers/crun/releases/download/${TARGET_VERSION}/crun-${TARGET_VERSION}-linux-amd64

echo "Verifying hash..."
echo "$EXPECTED_HASH $TEMP_CRUN" | sha256sum --check

echo "Installing crun..."
sudo mv "$TEMP_CRUN" "$CRUN_PATH"
sudo chmod +x "$CRUN_PATH"
echo "Upgraded crun version:"
$CRUN_PATH --version
36 changes: 21 additions & 15 deletions .github/workflows/gigabyte-ampere-cuttlefish-installer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
nvidia_gpu: ["true", "false"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Check preseed after install script
uses: ./.github/actions/gigabyte-ampere-cuttlefish-installer-check-preseed-after-install-script
with:
Expand All @@ -72,11 +72,11 @@ jobs:
image: debian@sha256:13f29b6806e531c3ff3b565bb6eed73f2132506c8c9d41bb996065ca20fb27f2 # debian:trixie-20260223 (amd64)
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Build iso installer
uses: ./.github/actions/build-gigabyte-ampere-cuttlefish-installer
- name: Upload artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
path: gigabyte-ampere-cuttlefish-installer/preseed-mini.iso.xz
Expand All @@ -93,9 +93,9 @@ jobs:
TEST_DISK_SIZE: "10G"
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand Down Expand Up @@ -137,9 +137,9 @@ jobs:
working-directory: ./gigabyte-ampere-cuttlefish-installer
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand Down Expand Up @@ -185,9 +185,9 @@ jobs:
working-directory: ./gigabyte-ampere-cuttlefish-installer
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand Down Expand Up @@ -233,9 +233,9 @@ jobs:
working-directory: ./gigabyte-ampere-cuttlefish-installer
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand Down Expand Up @@ -281,9 +281,9 @@ jobs:
working-directory: ./gigabyte-ampere-cuttlefish-installer
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand All @@ -301,6 +301,9 @@ jobs:
run: |
screen -d -m -L -Logfile console_001.log ./installer-iso-run-qemu.sh
while ! egrep "[^[:space:]]+[[:space:]]login:" console_001.log; do sleep 30; done
# The login prompt appears before the system is usable, so wait for the
# boot to complete. "degraded" means booted with some unit failed.
until sshpass -p cuttlefish ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -o "ConnectTimeout 60" -p 33322 vsoc-01@localhost 'systemctl is-system-running | grep -qE "running|degraded"'; do sleep 30; done
cp -f console_001.log console_001_p1.log
CONSOLELINES=$(cat console_001_p1.log | wc -l)
cat console_001_p1.log
Expand Down Expand Up @@ -361,9 +364,9 @@ jobs:
working-directory: ./gigabyte-ampere-cuttlefish-installer
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: gigabyte-ampere-cuttlefish-installer-artifacts
- name: Prepare test environment
Expand All @@ -381,6 +384,9 @@ jobs:
run: |
screen -d -m -L -Logfile console_001.log ./installer-iso-run-qemu.sh
while ! egrep "[^[:space:]]+[[:space:]]login:" console_001.log; do sleep 30; done
# The login prompt appears before the system is usable, so wait for the
# boot to complete. "degraded" means booted with some unit failed.
until sshpass -p cuttlefish ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -o "ConnectTimeout 60" -p 33322 vsoc-01@localhost 'systemctl is-system-running | grep -qE "running|degraded"'; do sleep 30; done
cp -f console_001.log console_001_p1.log
CONSOLELINES=$(cat console_001_p1.log | wc -l)
cat console_001_p1.log
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/presubmit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ jobs:
with:
name: debs_amd64
github-token: ${{ github.token }}
- name: Upgrade crun
uses: ./.github/actions/upgrade-crun
- name: Build image
run: |
tar -xvf debs_amd64.tar
Expand Down Expand Up @@ -363,6 +365,8 @@ jobs:
with:
name: android-cuttlefish-e2etest-image-tar
github-token: ${{ github.token }}
- name: Upgrade crun
uses: ./.github/actions/upgrade-crun
- name: Run tests
run: |
sudo podman info
Expand Down Expand Up @@ -509,6 +513,8 @@ jobs:
uses: actions/download-artifact@v7
with:
name: cuttlefish-orchestration-amd64
- name: Upgrade crun
uses: ./.github/actions/upgrade-crun
- name: Load docker image as podman image
run: |
sudo sysctl -w kernel.unprivileged_userns_clone=1
Expand Down
15 changes: 9 additions & 6 deletions base/cvd/cuttlefish/common/libs/utils/container.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,21 @@
#include "cuttlefish/common/libs/utils/files.h"

namespace cuttlefish {
namespace {

static bool IsRunningInDocker() {
bool IsRunningInDocker() {
// if /.dockerenv exists, it's inside a docker container
static std::string docker_env_path("/.dockerenv");
static bool ret =
FileExists(docker_env_path) || DirectoryExists(docker_env_path);
return ret;
std::string docker_env_path("/.dockerenv");
return FileExists(docker_env_path) || DirectoryExists(docker_env_path);
}

bool IsRunningInPodman() { return FileExists("/run/.containerenv"); }

} // namespace

bool IsRunningInContainer() {
// TODO: add more if we support other containers than docker
return IsRunningInDocker();
return IsRunningInDocker() || IsRunningInPodman();
}

} // namespace cuttlefish
1 change: 1 addition & 0 deletions base/cvd/cuttlefish/host/commands/assemble_cvd/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ cf_cc_library(
"@abseil-cpp//absl/strings",
"@fmt",
"@protobuf",
"@protobuf//src/google/protobuf/io:tokenizer",
],
)

Expand Down
Loading
Loading