Temporarily disable github runner for Windows 2022 #3510
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: Tests | |
on: | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
push: | |
branches: | |
- main | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, macos-latest] # windows-2022 disabled due to actions/runner-images#812 | |
include: | |
- os-name: linux | |
os: ubuntu-20.04 | |
- os-name: macOS | |
os: macos-latest | |
# - os-name: windows | |
# os: windows-2022 | |
runs-on: ${{ matrix.os }} | |
name: test (${{ matrix.os-name }}) | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/bazel-disk-cache | |
key: bazel-disk-cache-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE') }} | |
# Use an older cache key, if available. | |
restore-keys: | | |
bazel-disk-cache-${{ runner.os }}-${{ runner.arch }}- | |
- name: Setup Linux | |
if: runner.os == 'Linux' | |
# Install dependencies, including clang via through LLVM APT repository. Note that this | |
# will also install lldb and clangd alongside dependencies, which can be removed with | |
# `sudo apt-get remove -y lldb-14 clangd-14; sudo apt-get autoremove -y` if space is | |
# limited. | |
# libunwind, libc++abi1 and libc++1 should be automatically installed as dependencies of | |
# libc++, but this appears to cause errors so they are also being explicitly installed. | |
# Since the GitHub runner image comes with a number of preinstalled packages, we don't need | |
# to use APT much otherwise. | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
sudo ./llvm.sh 14 | |
sudo apt-get install -y libunwind-14 libc++abi1-14 libc++1-14 libc++-14-dev | |
echo "build:linux --action_env=CC=/usr/lib/llvm-14/bin/clang --action_env=CXX=/usr/lib/llvm-14/bin/clang++" >> .bazelrc | |
echo "build:linux --host_action_env=CC=/usr/lib/llvm-14/bin/clang --host_action_env=CXX=/usr/lib/llvm-14/bin/clang++" >> .bazelrc | |
- name: Setup Windows | |
if: runner.os == 'Windows' | |
# Set a custom output dir and disable generating debug information on Windows. By default, | |
# bazel generates huge amounts of debug information on Windows which slows down the build | |
# and takes up an excessive amount of cache space. | |
run: | | |
[System.IO.File]::WriteAllLines((Join-Path -Path $env:USERPROFILE -ChildPath '.bazelrc'), 'startup --output_user_root=C:/tmp') | |
[System.IO.File]::WriteAllLines((Join-Path -Path $env:USERPROFILE -ChildPath '.bazelrc'), 'build:windows --config=windows_no_dbg') | |
- name: Bazel build | |
# timestamps are no longer being added here, the GitHub logs include timestamps (Use | |
# 'Show timestamps' on the web interface) | |
run: | | |
bazelisk build --disk_cache=~/bazel-disk-cache --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --verbose_failures //... | |
- name: Bazel tests | |
run: | | |
bazelisk test --disk_cache=~/bazel-disk-cache --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --verbose_failures --keep_going --test_output=errors //... | |
- name: Report disk usage | |
if: always() | |
shell: bash | |
run: | | |
BAZEL_OUTPUT_BASE=$(bazel info --ui_event_filters=-WARNING output_base) | |
BAZEL_REPOSITORY_CACHE=$(bazel info --ui_event_filters=-WARNING repository_cache) | |
echo "Bazel cache usage statistics" | |
du -hs -t 1 ~/bazel-disk-cache/* $BAZEL_REPOSITORY_CACHE | |
echo "Bazel output usage statistics" | |
du -hs -t 1 $BAZEL_OUTPUT_BASE | |
echo "Workspace usage statistics" | |
du -hs -t 1 $GITHUB_WORKSPACE | |