Skip to content

Commit

Permalink
gha: Add release workflow
Browse files Browse the repository at this point in the history
The new workflow runs checks outlined in the `doc/release-process.md`.
  • Loading branch information
hebasto committed Aug 29, 2023
1 parent ea26b71 commit dc16905
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
- '**'

concurrency:
group: ${{ github.event_name != 'pull_request' && github.run_id || github.ref }}
group: ${{ github.workflow }}${{ github.event_name != 'pull_request' && github.run_id || github.ref }}
cancel-in-progress: true

env:
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 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 && 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

0 comments on commit dc16905

Please sign in to comment.