Skip to content

Commit

Permalink
ci: update libtinfo5 installation for Ubuntu 24.04 (#401)
Browse files Browse the repository at this point in the history
As per actions/runner-images#10636
`ubuntu-latest` is now Ubuntu 24.04 instead of 22.04 which [does not]
have `libtinfo5` in the default PPAs.

[does not]: https://packages.ubuntu.com/search?keywords=libtinfo

Unfortunately all of the LLVM binary releases for Ubuntu still target
18.04 and contain binaries linked against `libtinfo5` — until LLVM 19
where the `libtinfo` dep was dropped.

Pinning CI to use Ubuntu 22.04 is an option; however this commit installs
`libtinfo5` on the Ubuntu 24.04 runners manually instead.
  • Loading branch information
rrbutani authored Oct 11, 2024
1 parent 4f3101e commit e047cfc
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 10 deletions.
16 changes: 6 additions & 10 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,9 @@ jobs:
bzlmod: [true, false]
runs-on: ${{ matrix.os }}
steps:
- if: startsWith(matrix.os, 'ubuntu')
name: Install APT packages
run: sudo apt-get -y install libtinfo5
- uses: actions/checkout@v4
- if: startsWith(matrix.os, 'ubuntu')
run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
Expand All @@ -51,10 +50,9 @@ jobs:
bzlmod: [true, false]
runs-on: ${{ matrix.os }}
steps:
- if: startsWith(matrix.os, 'ubuntu')
name: Install APT packages
run: sudo apt-get -y install libtinfo5
- uses: actions/checkout@v4
- if: startsWith(matrix.os, 'ubuntu')
run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
Expand Down Expand Up @@ -102,9 +100,8 @@ jobs:
bzlmod: [true, false]
runs-on: ubuntu-latest
steps:
- name: Install APT packages
run: sudo apt-get -y install libtinfo5
- uses: actions/checkout@v4
- run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test
env:
USE_BZLMOD: ${{ matrix.bzlmod }}
Expand All @@ -116,9 +113,8 @@ jobs:
bzlmod: [true, false]
runs-on: ubuntu-latest
steps:
- name: Install APT packages
run: sudo apt-get -y install libtinfo5
- uses: actions/checkout@v4
- run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Download and Extract LLVM distribution
env:
release: llvmorg-16.0.0
Expand Down
17 changes: 17 additions & 0 deletions tests/scripts/ubuntu_install_libtinfo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

# Ubuntu 24.04 does not have libtinfo5 in its PPAs:
#
# However, the LLVM binary releases hosted up upstream still target Ubuntu 18.04
# as of this writing and contain binaries linked against `libtinfo5`.
#
# This script installs `libtinfo5` using the `.deb` from Ubuntu 22.04's PPAs:
# https://packages.ubuntu.com/jammy-updates/amd64/libtinfo5/download

set -euo pipefail

pkg="$(mktemp --suffix=.deb)"
trap 'rm -f "${pkg}"' EXIT

curl -L https://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb -o "${pkg}"
sudo dpkg -i "${pkg}"

0 comments on commit e047cfc

Please sign in to comment.