diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d8a762152..b78a0e7765 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -780,3 +780,32 @@ jobs: run: | cd sage sage prove_group_implementations.sage + + release: + runs-on: ubuntu-latest + # The `startsWith` and `contains` functions are not case sensitive. + if: > + startsWith(github.event.pull_request.head.commit.message, 'release: Prepare for ') || + contains(github.event.head_commit.message, 'release: Prepare for ') || + github.event_name == 'workflow_dispatch' + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - run: ./autogen.sh && ./configure --enable-dev-mode && make distcheck + + - name: Check installation with Autotools + env: + CI_INSTALL: ${{ runner.temp }}/${{ github.run_id }}${{ github.action }} + run: | + ./autogen.sh && ./configure --prefix=${{ env.CI_INSTALL }} && make clean && make install && ls -l ${{ env.CI_INSTALL }}/include ${{ env.CI_INSTALL }}/lib + gcc -o ecdsa examples/ecdsa.c $(PKG_CONFIG_PATH=${{ env.CI_INSTALL }}/lib/pkgconfig pkg-config --cflags --libs libsecp256k1) -Wl,-rpath,"${{ env.CI_INSTALL }}/lib" && ./ecdsa + + - name: Check installation with CMake + env: + CI_BUILD: ${{ runner.temp }}/${{ github.run_id }}${{ github.action }}/build + CI_INSTALL: ${{ runner.temp }}/${{ github.run_id }}${{ github.action }}/install + run: | + cmake -B ${{ env.CI_BUILD }} -DCMAKE_INSTALL_PREFIX=${{ env.CI_INSTALL }} && cmake --build ${{ env.CI_BUILD }} --target install && ls -l ${{ env.CI_INSTALL }}/include ${{ env.CI_INSTALL }}/lib* + gcc -o ecdsa examples/ecdsa.c -I ${{ env.CI_INSTALL }}/include -L ${{ env.CI_INSTALL }}/lib*/ -l secp256k1 -Wl,-rpath,"${{ env.CI_INSTALL }}/lib",-rpath,"${{ env.CI_INSTALL }}/lib64" && ./ecdsa