ci_packages.yml 2.2 KB

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