ci_packages.yml 2.2 KB

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