Skip to content

gha: Add release workflow #32

gha: Add release workflow

gha: Add release workflow #32

Workflow file for this run

# See: https://github.com/bitcoin-core/secp256k1/blob/master/doc/release-process.md
name: Release
on:
pull_request:
push:
branches: ['**']
tags-ignore: ['**']
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}${{ github.event_name != 'pull_request' && github.run_id || github.ref }}
cancel-in-progress: true
jobs:
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 && cd ${{ env.CI_INSTALL }} && ls -RlAh
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 && cd ${{ env.CI_INSTALL }} && ls -RlAh
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