123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- # 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
- permissions: {}
- jobs:
- maketgz-and-verify-in-tree:
- runs-on: ubuntu-latest
- timeout-minutes: 30
- steps:
- - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # 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'
- - name: 'maketgz'
- run: |
- SOURCE_DATE_EPOCH=1711526400 ./maketgz 99.98.97
- - name: 'maketgz reproducibility test'
- run: |
- mkdir run1; mv ./curl-99.98.97.* run1/
- make V=1 && make V=1 clean
- SOURCE_DATE_EPOCH=1711526400 ./maketgz 99.98.97
- mkdir run2; cp -p ./curl-99.98.97.* run2/
- diff run1 run2
- - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # 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 -j3
- make -j3 test-ci
- make -j3 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@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # 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 -j3
- make -j3 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@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # 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@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4
- with:
- name: 'release-tgz'
- - run: |
- echo "::stop-commands::$(uuidgen)"
- tar xvf curl-99.98.97.tar.gz
- pushd curl-99.98.97
- cmake -B build -DCURL_WERROR=ON
- make -C build -j3
- name: 'verify out-of-tree cmake build'
|