diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index 9654a89..f46327c 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -17,19 +17,12 @@ permissions: jobs: clang-format: name: Enforce clang-format - runs-on: ubuntu-22.04 + runs-on: ubuntu-slim env: - CLANG_MAJOR_VERSION: 17 + CLANG_MAJOR_VERSION: 20 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add Clang/LLVM repositories - run: |- - set -x - source /etc/os-release - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo add-apt-repository "deb http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}-${CLANG_MAJOR_VERSION} main" - - name: Install clang-format run: |- set -x diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index d39d9fe..083c157 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -17,11 +17,11 @@ permissions: jobs: codespell: name: Enforce codespell-clean spelling - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2.2 + - uses: codespell-project/actions-codespell@e3258cca84ce02b0bb36a3d41f2c18f719a0cc1a # v2.4.3 with: # "nd" (with lowercase "n") is from ".Nd" (with uppercase "n") in ttyplot.1 # https://github.com/codespell-project/codespell/issues/3233#issuecomment-1828026522 diff --git a/.github/workflows/linux_and_macos.yml b/.github/workflows/linux_and_macos.yml index e3923ee..a86c3fe 100644 --- a/.github/workflows/linux_and_macos.yml +++ b/.github/workflows/linux_and_macos.yml @@ -26,52 +26,40 @@ jobs: fail-fast: false matrix: include: - - cc: gcc-14 + - cc: gcc-11 clang_major_version: null - clang_repo_suffix: null make: make - runs-on: ubuntu-24.04 - - cc: clang-18 - clang_major_version: 18 - clang_repo_suffix: -18 - make: bmake runs-on: ubuntu-22.04 - - cc: musl-gcc + - cc: musl-gcc # based on gcc-13 clang_major_version: null - clang_repo_suffix: null make: bmake - runs-on: ubuntu-22.04 - - cc: gcc-13 - clang_major_version: null - clang_repo_suffix: null + runs-on: ubuntu-24.04 + - cc: clang-22 + clang_major_version: 22 + make: remake + runs-on: ubuntu-26.04 + experimental: true # preview OS (see continue-on-error above) + - cc: clang-18 + clang_major_version: 18 make: make - runs-on: macos-14 + runs-on: macos-15 - cc: gcc-15 clang_major_version: null - clang_repo_suffix: null make: bmake - runs-on: macos-15-intel + runs-on: macos-26-intel - cc: clang-20 clang_major_version: 20 - clang_repo_suffix: null - make: bsdmake - runs-on: macos-26 - experimental: true # preview OS; UI test renders blank (see continue-on-error above) + make: remake + runs-on: xcode-27 + experimental: true # preview OS (see continue-on-error above) steps: - - name: Add Clang/LLVM repositories - if: "${{ runner.os == 'Linux' && contains(matrix.cc, 'clang') }}" - run: |- - set -x - source /etc/os-release - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo add-apt-repository "deb http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main" - - name: Install build dependencies if: "${{ runner.os == 'Linux' }}" run: |- sudo apt-get update sudo apt-get install --yes --no-install-recommends \ bmake \ + remake \ libncurses-dev \ musl-tools \ pkg-config @@ -81,16 +69,9 @@ jobs: run: |- brew install \ bmake \ - bsdmake \ + remake \ coreutils - - name: Install build dependency Clang ${{ matrix.clang_major_version }} - if: "${{ runner.os == 'Linux' && contains(matrix.cc, 'clang') }}" - run: |- - sudo apt-get install --yes --no-install-recommends -V \ - clang-${{ matrix.clang_major_version }} \ - libclang-rt-${{ matrix.clang_major_version }}-dev - - name: Add versioned aliases for Clang ${{ matrix.clang_major_version }} if: "${{ runner.os == 'macOS' && contains(matrix.cc, 'clang') }}" run: |- @@ -157,7 +138,7 @@ jobs: fi # musl-gcc and compilers on macOS do not seem to support linking with sanitizers - if [[ ${{ matrix.cc }} =~ musl || ${{ matrix.runs-on }} =~ macos ]]; then + if [[ ${{ matrix.cc }} =~ musl || ${{ matrix.runs-on }} =~ macos|xcode ]]; then sanitizer= else # ASan: https://clang.llvm.org/docs/AddressSanitizer.html