Skip to content

restore cloudcheck tag propagation to URL/OPEN_TCP_PORT children #4401

restore cloudcheck tag propagation to URL/OPEN_TCP_PORT children

restore cloudcheck tag propagation to URL/OPEN_TCP_PORT children #4401

Workflow file for this run

name: Tests (Linux Distros)
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test-distros:
runs-on: ubuntu-latest
container:
image: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu:22.04", "ubuntu:24.04", "debian", "archlinux", "fedora", "kalilinux/kali-rolling"]
steps:
- uses: actions/checkout@v7
- name: Install Python and uv
run: |
if [ -f /etc/os-release ]; then
. /etc/os-release
if [ "$ID" = "ubuntu" ] || [ "$ID" = "debian" ] || [ "$ID" = "kali" ]; then
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y install curl git bash build-essential docker.io libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
elif [ "$ID" = "alpine" ]; then
apk add --no-cache bash gcc g++ musl-dev libffi-dev docker curl git make openssl-dev bzip2-dev zlib-dev xz-dev sqlite-dev
elif [ "$ID" = "arch" ]; then
pacman -Syu --noconfirm curl docker git bash base-devel
elif [ "$ID" = "fedora" ]; then
dnf install -y curl docker git bash gcc make patch p7zip p7zip-plugins openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel tk-devel gdbm-devel readline-devel sqlite-devel python3-libdnf5
elif [ "$ID" = "gentoo" ]; then
echo "media-libs/libglvnd X" >> /etc/portage/package.use/libglvnd
emerge-webrsync
emerge --update --newuse dev-vcs/git media-libs/mesa curl docker bash
fi
fi
# Install uv (standalone binary, no Python prerequisite)
curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Set OS Environment Variable
run: echo "OS_NAME=${{ matrix.os }}" | sed 's|[:/]|_|g' >> $GITHUB_ENV
- name: Run tests
run: |
export PATH="/github/home/.local/bin:$PATH"
# Fix HOME to match euid (root) so rustup/cargo don't refuse to build
export HOME="$(getent passwd $(whoami) | cut -d: -f6)"
export BBOT_DISTRO_TESTS=true
uv python install 3.12
uv python pin 3.12
uv sync --group dev
uv run pytest --reruns 2 --exitfirst -o timeout_func_only=true --timeout 1200 --disable-warnings --log-cli-level=INFO .
- name: Upload Debug Logs
if: always()
uses: actions/upload-artifact@v7
with:
name: pytest-debug-logs-${{ env.OS_NAME }}
path: pytest_debug.log