distcheck.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: dist
  5. on:
  6. push:
  7. branches:
  8. - master
  9. - '*/ci'
  10. pull_request:
  11. branches:
  12. - master
  13. concurrency:
  14. group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  15. cancel-in-progress: true
  16. jobs:
  17. maketgz-and-verify-in-tree:
  18. runs-on: ubuntu-latest
  19. timeout-minutes: 30
  20. steps:
  21. - uses: actions/checkout@v4
  22. - run: sudo apt-get purge -y curl libcurl4 libcurl4-doc
  23. name: 'remove preinstalled curl libcurl4{-doc}'
  24. - run: autoreconf -fi
  25. name: 'autoreconf'
  26. - run: ./configure --without-ssl
  27. name: 'configure'
  28. - run: make V=1 && make V=1 clean
  29. name: 'make and clean'
  30. - run: ./maketgz 99.98.97
  31. name: 'maketgz'
  32. - uses: actions/upload-artifact@v3
  33. with:
  34. name: 'release-tgz'
  35. path: 'curl-99.98.97.tar.gz'
  36. - run: |
  37. echo "::stop-commands::$(uuidgen)"
  38. tar xvf curl-99.98.97.tar.gz
  39. pushd curl-99.98.97
  40. ./configure --prefix=$HOME/temp --without-ssl
  41. make
  42. make TFLAGS=1 test
  43. make install
  44. popd
  45. # basic check of the installed files
  46. bash scripts/installcheck.sh $HOME/temp
  47. rm -rf curl-99.98.97
  48. name: 'verify in-tree configure build including install'
  49. verify-out-of-tree-docs:
  50. runs-on: ubuntu-latest
  51. timeout-minutes: 30
  52. needs: maketgz-and-verify-in-tree
  53. steps:
  54. - uses: actions/download-artifact@v3
  55. with:
  56. name: 'release-tgz'
  57. - run: |
  58. echo "::stop-commands::$(uuidgen)"
  59. tar xvf curl-99.98.97.tar.gz
  60. touch curl-99.98.97/docs/{cmdline-opts,libcurl}/Makefile.inc
  61. mkdir build
  62. pushd build
  63. ../curl-99.98.97/configure --without-ssl
  64. make
  65. make TFLAGS='-p 1 1139' test
  66. popd
  67. rm -rf build
  68. rm -rf curl-99.98.97
  69. name: 'verify out-of-tree configure build including docs'
  70. verify-out-of-tree-cmake:
  71. runs-on: ubuntu-latest
  72. timeout-minutes: 30
  73. needs: maketgz-and-verify-in-tree
  74. steps:
  75. - uses: actions/download-artifact@v3
  76. with:
  77. name: 'release-tgz'
  78. - run: |
  79. echo "::stop-commands::$(uuidgen)"
  80. tar xvf curl-99.98.97.tar.gz
  81. pushd curl-99.98.97
  82. mkdir build
  83. pushd build
  84. cmake ..
  85. make
  86. name: 'verify out-of-tree cmake build'