cabal.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. ######################################################
  2. ## ##
  3. ## !!!! Autogenerated YAML file, do not edit !!!! ##
  4. ## ##
  5. ## Edit source in /src/github/workflows/ instead! ##
  6. ## ##
  7. ######################################################
  8. defaults:
  9. run:
  10. shell: bash
  11. jobs:
  12. cabal:
  13. env:
  14. FLAGS: -f enable-cluster-counting
  15. strategy:
  16. matrix:
  17. ghc-ver:
  18. - 9.2.1
  19. cabal-ver:
  20. - latest
  21. os:
  22. - windows-latest
  23. - macos-latest
  24. - ubuntu-20.04
  25. fail-fast: false
  26. runs-on: ${{ matrix.os }}
  27. needs: auto-cancel
  28. steps:
  29. - with:
  30. submodules: recursive
  31. uses: actions/checkout@v2
  32. - with:
  33. cabal-version: ${{ matrix.cabal-ver }}
  34. ghc-version: ${{ matrix.ghc-ver }}
  35. uses: haskell/actions/setup@v1
  36. id: setup-haskell
  37. - run: |
  38. export GHC_VER=$(ghc --numeric-version)
  39. export CABAL_VER=$(cabal --numeric-version)
  40. echo "GHC_VER = ${GHC_VER}"
  41. echo "CABAL_VER = ${CABAL_VER}"
  42. echo "GHC_VER=${GHC_VER}" >> ${GITHUB_ENV}
  43. echo "CABAL_VER=${CABAL_VER}" >> ${GITHUB_ENV}
  44. name: Environment settings based on the Haskell setup
  45. - run: |
  46. cabal update
  47. cabal configure ${FLAGS} -O0
  48. name: Configure the build plan
  49. - if: ${{ runner.os == 'Windows' }}
  50. shell: pwsh
  51. run: |
  52. $env:PATH = "C:\msys64\mingw64\bin;C:\msys64\usr\bin;$origPath;$env:PATH"
  53. pacman --noconfirm -Sy msys2-keyring mingw-w64-x86_64-pkg-config mingw-w64-x86_64-icu
  54. name: Install the ICU library (Windows)
  55. - if: ${{ runner.os == 'macOS' }}
  56. run: |
  57. echo "PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig" >> ${GITHUB_ENV}
  58. name: Set up pkg-config for the ICU library (macOS)
  59. - with:
  60. path: |
  61. ${{ steps.setup-haskell.outputs.cabal-store }}
  62. key: ${{ runner.os }}-cabal-01-${{ env.GHC_VER }}-${{ env.CABAL_VER }}-${{
  63. hashFiles('**/plan.json') }}
  64. uses: actions/cache@v2
  65. name: Cache dependencies
  66. id: cache
  67. - if: ${{ !steps.cache.outputs.cache-hit }}
  68. run: |
  69. cabal build --only-dependencies
  70. name: Install dependencies
  71. - run: |
  72. cabal build
  73. name: Build Agda
  74. - run: |
  75. cabal configure -O0
  76. cabal build
  77. name: Build Agda without enable-cluster-counting
  78. auto-cancel:
  79. if: |
  80. !contains(github.event.head_commit.message, '[skip ci]')
  81. && !contains(github.event.head_commit.message, '[ci skip]')
  82. && !contains(github.event.head_commit.message, '[github skip]')
  83. && !contains(github.event.head_commit.message, '[skip github]')
  84. runs-on: Ubuntu-latest
  85. steps:
  86. - with:
  87. access_token: ${{ github.token }}
  88. uses: styfle/cancel-workflow-action@0.6.0
  89. name: Build (cabal)
  90. 'on':
  91. pull_request:
  92. paths:
  93. - .github/workflows/cabal.yml
  94. - Agda.cabal
  95. - Setup.hs
  96. - src/agda-mode/**
  97. - src/full/**
  98. - src/main/**
  99. - test/**.hs
  100. push:
  101. branches:
  102. - master
  103. - ci-*
  104. - release*
  105. paths:
  106. - .github/workflows/cabal.yml
  107. - Agda.cabal
  108. - Setup.hs
  109. - src/agda-mode/**
  110. - src/full/**
  111. - src/main/**
  112. - test/**.hs