clang-tidy in .bazelrc
and a github workflow
#2355
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Presubmit | |
on: [pull_request, push] | |
jobs: | |
build-orchestrator: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 # aka v2 | |
- name: Install dependencies | |
uses: actions/setup-go@v3 | |
with: | |
go-version: '1.13.15' | |
- run: go version | |
- name: Vet Test Build | |
run: cd frontend/src/host_orchestrator && go vet ./... && go test ./... && go build ./... | |
build-debian-package: | |
runs-on: ubuntu-20.04 | |
if: ${{ always() && needs.build-orchestrator.result == 'success' }} | |
needs: [build-orchestrator] | |
container: | |
# debian:bullseye | |
image: debian@sha256:3b6053ca925336c804e2d3f080af177efcdc9f51198a627569bfc7c7e730ef7e | |
steps: | |
- name: Check for dockerenv file | |
run: (ls /.dockerenv && echo 'Found dockerenv') || (echo 'No dockerenv') | |
- name: setup apt | |
run: apt update -y && apt upgrade -y | |
- name: install debuild dependencies | |
run: apt install -y git devscripts config-package-dev debhelper-compat golang protobuf-compiler | |
- name: go version | |
run: go version | |
- name: checkout repository | |
uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 # aka v2 | |
with: | |
path: "android-cuttlefish" | |
- name: Install bazel | |
run: bash android-cuttlefish/tools/buildutils/installbazel.sh | |
- name: install package build dependencies | |
run: cd android-cuttlefish/base && mk-build-deps -i -t 'apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y' | |
- name: build base debian package | |
run: cd android-cuttlefish/base && debuild -i -us -uc -b | |
- name: install base debian package | |
run: dpkg -i android-cuttlefish/cuttlefish-base_*_*64.deb || apt-get install -f -y | |
- name: build frontend debian packages | |
run: cd android-cuttlefish/frontend && debuild -i -us -uc -b | |
- name: install user debian package | |
run: dpkg -i android-cuttlefish/cuttlefish-user_*_*64.deb || apt-get install -f -y | |
build-cvd: | |
runs-on: ubuntu-latest | |
container: | |
image: debian@sha256:3b6053ca925336c804e2d3f080af177efcdc9f51198a627569bfc7c7e730ef7e | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 # aka v2 | |
- name: Setup apt | |
run: apt update -y && apt upgrade -y | |
- name: Install dependencies | |
run: apt install -y git clang libcurl4-openssl-dev clang-tidy | |
- name: Install bazel | |
run: bash tools/buildutils/installbazel.sh | |
- name: Build cvd | |
run: cd base/cvd && bazel build ... | |
- name: Test cvd | |
run: cd base/cvd && bazel test --sandbox_writable_path=$HOME --test_output=errors ... | |
- name: Upload test logs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testlogs | |
path: bazel-testlogs | |
- name: Run clang-tidy | |
run: cd base/cvd && bazel build //cuttlefish/... --config clang-tidy | |
e2e-tests-orchestration: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Free space | |
run: | | |
echo "disk space before cleanup:" | |
df -h | |
sudo rm -rf /usr/local/.ghcup | |
sudo rm -rf /usr/local/lib/android/sdk/ndk | |
sudo rm -rf /usr/local/share/boost | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/hostedtoolcache | |
sudo rm -rf /opt/ghc | |
sudo apt-get clean | |
echo "disk space after cleanup:" | |
df -h | |
- name: Check kvm | |
run: | | |
ls /dev/kvm | |
- name: checkout repository | |
uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 # aka v2 | |
- name: Install bazel | |
run: sudo bash tools/buildutils/installbazel.sh | |
- name: bazel version | |
run: bazel version | |
- name: Run orchestration e2e tests | |
run: | | |
cd e2etests | |
# Run orchestration e2e tests serially due lack of space in Github standard runners. | |
# | |
# Overall action timing breakdown: | |
# | |
# [614 / 616] Executing genrule @@images//docker/debs-builder-docker:debs_tar [for tool]; 608s linux-sandbox | |
# [615 / 616] Executing genrule @@images//docker:orchestration_image_tar; 11s linux-sandbox | |
# //orchestration:create_fixed_build_id_and_target PASSED in 99.9s | |
# //orchestration:create_local_image PASSED in 92.4s | |
# | |
# The tests are running under 2 min, it's ok for now to execute them serially. The action's | |
# bottleneck is building the debian packages: `@@images//docker/debs-builder-docker:debs_tar`. | |
bazel test --sandbox_writable_path=$HOME --test_output=errors --local_test_jobs=1 --test_timeout=480 orchestration/... | |
- name: Upload test logs | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testlogs | |
path: e2etests/bazel-testlogs |