Skip to content

Add GitHub Actions workflow for Bazel tests #6

Add GitHub Actions workflow for Bazel tests

Add GitHub Actions workflow for Bazel tests #6

Workflow file for this run

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
env:
BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN: 1
steps:
- uses: actions/checkout@v4
- uses: bazel-contrib/setup-bazel@0.14.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
- name: Disable AppArmor restriction on user namespaces
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
- name: Diagnose namespaces
run: |
echo "=== System Info ==="
uname -a
id
echo "=== Namespace Sysctls ==="
if [ -f /proc/sys/kernel/unprivileged_userns_clone ]; then
echo -n "unprivileged_userns_clone: " && cat /proc/sys/kernel/unprivileged_userns_clone
fi
echo -n "max_user_namespaces: " && cat /proc/sys/user/max_user_namespaces || echo "max_user_namespaces not found"
echo "=== Test unshare -U ==="
if unshare -U true; then
echo "unshare -U succeeded!"
else
echo "unshare -U failed!"
fi
echo "=== Test unshare -U -m ==="
if unshare -U -m true; then
echo "unshare -U -m succeeded!"
else
echo "unshare -U -m failed!"
fi
echo "=== Mount info ==="
findmnt -o TARGET,PROPAGATION / || echo "findmnt failed"
- name: Test
run: bazel test //...