ci_gcc14.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. name: GCC 14
  2. on:
  3. pull_request:
  4. push:
  5. branches:
  6. - 'devel'
  7. jobs:
  8. build:
  9. strategy:
  10. fail-fast: false
  11. matrix:
  12. os: [ubuntu-24.04]
  13. cpu: [amd64]
  14. name: '${{ matrix.os }}'
  15. runs-on: ${{ matrix.os }}
  16. timeout-minutes: 60 # refs bug #18178
  17. steps:
  18. - name: 'Checkout'
  19. uses: actions/checkout@v4
  20. with:
  21. fetch-depth: 2
  22. - name: 'Install node.js 20.x'
  23. uses: actions/setup-node@v4
  24. with:
  25. node-version: '20.x'
  26. - name: 'Install dependencies (Linux amd64)'
  27. if: runner.os == 'Linux' && matrix.cpu == 'amd64'
  28. run: |
  29. sudo apt update -qq
  30. sudo apt remove needrestart
  31. DEBIAN_FRONTEND='noninteractive' \
  32. sudo apt install --no-install-recommends -yq \
  33. libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev \
  34. valgrind libc6-dbg libblas-dev xorg-dev
  35. - name: 'Install dependencies (Linux amd64 gcc 14)'
  36. if: runner.os == 'Linux' && matrix.cpu == 'amd64'
  37. run: |
  38. sudo add-apt-repository universe
  39. sudo apt update -qq
  40. sudo apt install -y gcc-14 g++-14 libpcre3 liblapack-dev
  41. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 60 --slave /usr/bin/g++ g++ /usr/bin/g++-14
  42. - name: 'Install dependencies (macOS)'
  43. if: runner.os == 'macOS'
  44. run: brew install boehmgc make sfml gtk+3
  45. - name: 'Install dependencies (Windows)'
  46. if: runner.os == 'Windows'
  47. shell: bash
  48. run: |
  49. set -e
  50. . ci/funs.sh
  51. nimInternalInstallDepsWindows
  52. echo_run echo "${{ github.workspace }}/dist/mingw64/bin" >> "${GITHUB_PATH}"
  53. - name: 'Add build binaries to PATH'
  54. shell: bash
  55. run: echo "${{ github.workspace }}/bin" >> "${GITHUB_PATH}"
  56. - name: 'NIM_TESTAMENT_DISABLE_SSL'
  57. shell: bash
  58. run: echo "NIM_TESTAMENT_DISABLE_SSL=1" >> $GITHUB_ENV
  59. - name: 'System information'
  60. shell: bash
  61. run: . ci/funs.sh && nimCiSystemInfo
  62. - name: 'Build csourcesAny'
  63. shell: bash
  64. run: . ci/funs.sh && nimBuildCsourcesIfNeeded CC=gcc ucpu='${{ matrix.cpu }}'
  65. - name: 'koch, Run CI'
  66. shell: bash
  67. run: . ci/funs.sh && nimInternalBuildKochAndRunCI