diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index f25f1c944..148c7980c 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -110,6 +110,7 @@ jobs: run: | echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null sudo dpkg-reconfigure man-db + sudo apt install lcov || \ sudo apt install lcov - name: Download repository archive diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index f1940067d..e027c7a04 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -28,6 +28,7 @@ jobs: env: CI_BUILD_STAGE_NAME: build run: | + sudo apt install clang-format-18 || \ sudo apt install clang-format-18 git config --global user.email "action@example.com" git config --global user.name "github action" diff --git a/.github/workflows/reusable-lint-py.yml b/.github/workflows/reusable-lint-py.yml index 53fbcf256..f4ad9b6e8 100644 --- a/.github/workflows/reusable-lint-py.yml +++ b/.github/workflows/reusable-lint-py.yml @@ -41,6 +41,7 @@ jobs: - name: Install python dependencies run: | + sudo apt install python3-clang || \ sudo apt install python3-clang make venv diff --git a/.github/workflows/reusable-rtlmeter-build.yml b/.github/workflows/reusable-rtlmeter-build.yml index 1e2bd33db..068729a0d 100644 --- a/.github/workflows/reusable-rtlmeter-build.yml +++ b/.github/workflows/reusable-rtlmeter-build.yml @@ -34,7 +34,9 @@ jobs: echo "path-exclude /usr/share/doc/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc echo "path-exclude /usr/share/man/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc echo "path-exclude /usr/share/info/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc + sudo apt update || \ sudo apt update + sudo apt install ccache mold help2man libfl-dev libgoogle-perftools-dev libsystemc-dev || \ sudo apt install ccache mold help2man libfl-dev libgoogle-perftools-dev libsystemc-dev - name: Use saved ccache diff --git a/.github/workflows/reusable-rtlmeter-run.yml b/.github/workflows/reusable-rtlmeter-run.yml index 96bf409fb..95525125f 100644 --- a/.github/workflows/reusable-rtlmeter-run.yml +++ b/.github/workflows/reusable-rtlmeter-run.yml @@ -58,7 +58,9 @@ jobs: echo "path-exclude /usr/share/doc/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc echo "path-exclude /usr/share/man/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc echo "path-exclude /usr/share/info/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc + sudo apt update || \ sudo apt update + sudo apt install ccache mold libfl-dev libgoogle-perftools-dev libsystemc-dev || \ sudo apt install ccache mold libfl-dev libgoogle-perftools-dev libsystemc-dev - name: Download Verilator installation archive diff --git a/Makefile.in b/Makefile.in index 7f576d240..bf6d48e2b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -862,7 +862,8 @@ VENV_PATH ?= .venv venv: # Create virtual environment using the python3 picked up by configure [ -e $(VENV_PATH) ] || @PYTHON3@ -m venv --system-site-packages $(VENV_PATH) - # Install python3 dependencies + # Install python3 dependencies, with explicit retry + $(VENV_PATH)/bin/pip3 install -r python-dev-requirements.txt || \ $(VENV_PATH)/bin/pip3 install -r python-dev-requirements.txt @echo @echo "Installed Python virtual environment, in:" diff --git a/ci/ci-install.bash b/ci/ci-install.bash index 4f349cc02..f28baccea 100755 --- a/ci/ci-install.bash +++ b/ci/ci-install.bash @@ -76,7 +76,9 @@ if [ "$CI_BUILD_STAGE_NAME" = "build" ]; then sudo apt-get install bear mold fi elif [ "$CI_OS_NAME" = "osx" ]; then + brew update || brew update + brew install ccache perl gperftools autoconf bison flex help2man || brew install ccache perl gperftools autoconf bison flex help2man elif [ "$CI_OS_NAME" = "freebsd" ]; then sudo pkg install -y autoconf bison ccache gmake perl5