diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index 56ef7e6a7342..88e73adec5e5 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -80,16 +80,19 @@ jobs: if [ "${{ runner.os }}" = "Linux" ]; then if [ -n "$PACKAGES" ]; then + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi PYTHON_EXECUTABLE="xvfb-run python" else if [ "${{ runner.os }}" = "macOS" ] && [ -n "$PACKAGES" ]; then + printf "Installing Homebrew packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" brew install -q $PACKAGES fi if [ "${{ runner.os }}" = "Windows" ] && [ -n "$PACKAGES" ]; then + printf "Installing Chocolatey packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" choco install -y $PACKAGES fi diff --git a/.github/workflows/stubtest_third_party.yml b/.github/workflows/stubtest_third_party.yml index 66cdf7e28054..12ba22e2b85b 100644 --- a/.github/workflows/stubtest_third_party.yml +++ b/.github/workflows/stubtest_third_party.yml @@ -66,19 +66,19 @@ jobs: if [ "${{ runner.os }}" = "Linux" ]; then if [ -n "$PACKAGES" ]; then - echo "Installing apt packages: $PACKAGES" + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi PYTHON_EXECUTABLE="xvfb-run python" else if [ "${{ runner.os }}" = "macOS" ] && [ -n "$PACKAGES" ]; then - echo "Installing Homebrew packages: $PACKAGES" + printf "Installing Homebrew packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" brew install -q $PACKAGES fi if [ "${{ runner.os }}" = "Windows" ] && [ -n "$PACKAGES" ]; then - echo "Installing Chocolatey packages: $PACKAGES" + printf "Installing Chocolatey packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" choco install -y $PACKAGES fi diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c736d18e133f..834c55b8806c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,11 +52,10 @@ jobs: - run: uv pip install -r requirements-tests.txt --system - name: Install required APT packages run: | - sudo apt-get update -qy - DEPENDENCIES=$( python tests/get_external_apt_dependencies.py ) - if [ -n "$DEPENDENCIES" ]; then - printf "Installing APT packages:\n $(echo $DEPENDENCIES | sed 's/ /\n /g')\n" - sudo apt-get install -qy $DEPENDENCIES + PACKAGES=$(python tests/get_stubtest_system_requirements.py) + if [ -n "$PACKAGES" ]; then + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" + sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi - name: Run mypy_test.py run: | @@ -102,24 +101,23 @@ jobs: with: version-file: "requirements-tests.txt" - name: Install typeshed test-suite requirements - # Install these so we can run `get_external_stub_requirements.py` + # Install these so we can run `get_*_requirements.py` run: uv pip install -r requirements-tests.txt --system - name: Install required APT packages run: | - sudo apt-get update -qy - DEPENDENCIES=$( python tests/get_external_apt_dependencies.py ) - if [ -n "$DEPENDENCIES" ]; then - printf "Installing APT packages:\n $(echo $DEPENDENCIES | sed 's/ /\n /g')\n" - sudo apt-get install -qy $DEPENDENCIES + PACKAGES=$(python tests/get_stubtest_system_requirements.py) + if [ -n "$PACKAGES" ]; then + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" + sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi - name: Create an isolated venv for testing run: uv venv .venv - name: Install 3rd-party stub dependencies run: | - DEPENDENCIES=$( python tests/get_external_stub_requirements.py ) - if [ -n "$DEPENDENCIES" ]; then - printf "Installing packages:\n $(echo $DEPENDENCIES | sed 's/ /\n /g')\n" - uv pip install --python-version ${{ matrix.python-version }} $DEPENDENCIES + PACKAGES=$(python tests/get_external_stub_requirements.py) + if [ -n "$PACKAGES" ]; then + printf "Installing python packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" + uv pip install --python-version ${{ matrix.python-version }} $PACKAGES fi - name: Activate the isolated venv for the rest of the job run: echo "$PWD/.venv/bin" >> $GITHUB_PATH diff --git a/tests/get_external_apt_dependencies.py b/tests/get_external_apt_dependencies.py deleted file mode 100755 index 8e3f4ddfdeb1..000000000000 --- a/tests/get_external_apt_dependencies.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python3 - -import itertools -import os -import sys - -from ts_utils.metadata import read_metadata -from ts_utils.paths import STUBS_PATH - -if __name__ == "__main__": - distributions = sys.argv[1:] - if not distributions: - distributions = os.listdir(STUBS_PATH) - dependencies = set( - itertools.chain.from_iterable( - read_metadata(distribution).stubtest_settings.apt_dependencies for distribution in distributions - ) - ) - for dependency in sorted(dependencies): - print(dependency)