Install latest LLVM Clang / Flang on GitHub Actions

The Clang / Flang compiler versions on GitHub Actions might be older than desired. While GCC is usually the latest release on GA, LLVM might be a couple versions behind latest. This example shows how to install a range of LLVM versions in a GitHub Actions workflow.


jobs:

  linux-flang:
    runs-on: ubuntu-latest
    timeout-minutes: 15

    strategy:
      matrix:
        llvm-version: [20]

    env:
      CC: clang-${{ matrix.llvm-version }}
      CXX: clang++-${{ matrix.llvm-version }}
      FC: flang-${{ matrix.llvm-version }}

    steps:
    - uses: actions/checkout@v4

    - name: Apt LLVM
      run: |
          wget https://apt.llvm.org/llvm.sh
          chmod +x llvm.sh
          sudo ./llvm.sh ${{ matrix.llvm-version }}
          sudo apt-get update

    - name: install Flang
      run: sudo apt install --no-install-recommends clang-${{ matrix.llvm-version }} flang-${{ matrix.llvm-version }}

    # build , test, etc.