| # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. |
| # |
| # SPDX-License-Identifier: curl |
| |
| name: dist |
| |
| on: |
| push: |
| branches: |
| - master |
| - '*/ci' |
| pull_request: |
| branches: |
| - master |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} |
| cancel-in-progress: true |
| |
| jobs: |
| maketgz-and-verify-in-tree: |
| runs-on: ubuntu-latest |
| timeout-minutes: 30 |
| steps: |
| - uses: actions/checkout@v4 |
| |
| - run: sudo apt-get purge -y curl libcurl4 libcurl4-doc |
| name: 'remove preinstalled curl libcurl4{-doc}' |
| |
| - run: autoreconf -fi |
| name: 'autoreconf' |
| |
| - run: ./configure --without-ssl --without-libpsl |
| name: 'configure' |
| |
| - run: make V=1 && make V=1 clean |
| name: 'make and clean' |
| |
| - run: ./maketgz 99.98.97 |
| name: 'maketgz' |
| |
| - uses: actions/upload-artifact@v4 |
| with: |
| name: 'release-tgz' |
| path: 'curl-99.98.97.tar.gz' |
| |
| - run: | |
| echo "::stop-commands::$(uuidgen)" |
| tar xvf curl-99.98.97.tar.gz |
| pushd curl-99.98.97 |
| ./configure --prefix=$HOME/temp --without-ssl --without-libpsl |
| make |
| make test-ci |
| make install |
| popd |
| # basic check of the installed files |
| bash scripts/installcheck.sh $HOME/temp |
| rm -rf curl-99.98.97 |
| name: 'verify in-tree configure build including install' |
| |
| verify-out-of-tree-docs: |
| runs-on: ubuntu-latest |
| timeout-minutes: 30 |
| needs: maketgz-and-verify-in-tree |
| steps: |
| - uses: actions/download-artifact@v4 |
| with: |
| name: 'release-tgz' |
| |
| - run: | |
| echo "::stop-commands::$(uuidgen)" |
| tar xvf curl-99.98.97.tar.gz |
| touch curl-99.98.97/docs/{cmdline-opts,libcurl}/Makefile.inc |
| mkdir build |
| pushd build |
| ../curl-99.98.97/configure --without-ssl --without-libpsl |
| make |
| make test-ci |
| popd |
| rm -rf build |
| rm -rf curl-99.98.97 |
| name: 'verify out-of-tree configure build including docs' |
| |
| verify-out-of-tree-autotools-debug: |
| runs-on: ubuntu-latest |
| timeout-minutes: 30 |
| needs: maketgz-and-verify-in-tree |
| steps: |
| - uses: actions/download-artifact@v4 |
| with: |
| name: 'release-tgz' |
| |
| - run: | |
| echo "::stop-commands::$(uuidgen)" |
| tar xvf curl-99.98.97.tar.gz |
| pushd curl-99.98.97 |
| mkdir build |
| pushd build |
| ../configure --without-ssl --enable-debug "--prefix=${PWD}/pkg" --without-libpsl |
| make -j3 |
| make -j3 test-ci |
| make -j3 install |
| name: 'verify out-of-tree autotools debug build' |
| |
| verify-out-of-tree-cmake: |
| runs-on: ubuntu-latest |
| timeout-minutes: 30 |
| needs: maketgz-and-verify-in-tree |
| steps: |
| - uses: actions/download-artifact@v4 |
| with: |
| name: 'release-tgz' |
| |
| - run: | |
| echo "::stop-commands::$(uuidgen)" |
| tar xvf curl-99.98.97.tar.gz |
| pushd curl-99.98.97 |
| mkdir build |
| pushd build |
| cmake .. |
| make |
| name: 'verify out-of-tree cmake build' |