[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/32bitmicro/cppfront/main/.github/workflows/build-cppfront.yaml [Back]  [Original]

name: Multi-platform Build of cppfront

on:
  pull_request:
    paths-ignore:
      - 'docs/**'
  push:
    paths-ignore:
      - 'docs/**'
  workflow_dispatch:

permissions:
  # Restrict permissions to read-only for security
  contents: read

concurrency:
  # Specific group name to cancel in-progress builds for the same PR/ref
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  # Comment out the Windows build until it is fixed
  # build-windows:
  #   runs-on: windows-latest
  #   steps:
  #     - uses: actions/checkout@v4
  #     - uses: ilammy/msvc-dev-cmd@v1
  #     - name: Compiler name & version
  #       run: cl.exe
  #     - name: Build
  #       run: cl.exe source/cppfront.cpp -std:c++latest -MD -EHsc -W4 -WX

  build-unix-like:
    strategy:
      fail-fast: false
      matrix:
        runs-on: [ubuntu-22.04]
        compiler: [g++-10, g++-11, g++-12, clang++-12, clang++-14]
        cxx-std: ['c++20', 'c++2b']
        exclude:
          # GCC 10 doesn't have support for c++23
          - compiler: g++-10
            cxx-std: 'c++2b'
          # Clang 12 and 14 do not compile on 'c++2b' due to llvm/llvm-project#58206
          - compiler: clang++-12
            cxx-std: 'c++2b'
          - compiler: clang++-14
            cxx-std: 'c++2b'
        include:
          - runs-on: macos-14
            compiler: clang++
            cxx-std: 'c++20'
          - runs-on: macos-15
            compiler: clang++
            cxx-std: 'c++20'
          - runs-on: ubuntu-22.04
            compiler: clang++-15
            cxx-std: 'c++20'
          - runs-on: ubuntu-24.04
            compiler: clang++-16
            cxx-std: 'c++20'
          - runs-on: ubuntu-24.04
            compiler: clang++-17
            cxx-std: 'c++20'
          - runs-on: ubuntu-24.04
            compiler: clang++-18
            cxx-std: 'c++20'
          - runs-on: ubuntu-24.04
            compiler: clang++-18
            cxx-std: 'c++23'
          - runs-on: ubuntu-24.04
            compiler: g++-14
            cxx-std: 'c++2b'
    runs-on: ${{ matrix.runs-on }}
    env:
      CXX: ${{ matrix.compiler }}
      CXXFLAGS: -std=${{ matrix.cxx-std }} -Wall -Wextra -Wold-style-cast -Wunused-parameter -Wpedantic -Werror -pthread -Wno-unknown-warning -Wno-unknown-warning-option
    steps:
    - uses: actions/checkout@v4
    - name: Install compiler
      if: startsWith(matrix.runs-on, 'ubuntu')
      run: sudo apt-get install -y $CXX
    - name: Compiler name & version
      run: $CXX --version
    - name: Build
      run: $CXX source/cppfront.cpp $CXXFLAGS -o cppfront

Web Proxy Viewer  |  New URL  |  Original Page