mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
02107450d0
4e070243ae chore: bump version to 1.3.3 (#99) d93956254e ci: disable Go bindings CI for macos for now (#98) ae40c5c86d Merge pull request #97 from PastaPastaPasta/refac/pybind-bump-2.13.6 e835ece935 refactor: bump pybind version to 2.13.6 eda5d6a402 chore: change of gmp source (#95) 61f95aa80e chore: cleanup 6.2.1 left overs (#96) adbd094409 Merge pull request #92 from kwvg/darwin_gmp 062ee6726b Merge pull request #90 from UdjinM6/fix_aarch_arch 3538d8b033 fix: aarch64 is not supported, should set ARCH to RELIC_NONE e27a62f4a2 revert: disable gmp if targeting darwin on aarch64 when on 'auto' bb2fe6ee55 build: enforce minimum version of libgmp based on arch and platform 9832b7a132 build: replace deprecated macros `AC_PROG_CC_C99` and `AM_PROG_CC_C_O` b2428718b9 Merge pull request #91 from UdjinM6/fix_macos_test_build 3ffa7fa2b6 chore: bump version to 1.3.2 (#94) 0f4efc9327 Merge pull request #88 from HashEngineering/feat/support-android a181889489 fix: rust bindings build for macos (#89) 738d187359 fix: detect gmp via brew earlier ce4d6a47b6 fix: install libtool 4fa46ccaff fix: use macos-latest for test build 69bdc1aac7 Merge pull request #85 from kwvg/debug 39791d4e31 build: print build options after configure 73106a0121 build: use `-mbranch-protection=bti` on supporting `aarch64` compilers 6a3c28f6ca build: use stricter `-Werror` when testing compile flags 7a1b227637 build: rename {`NO`}`WARN_CFLAGS` to {`NO`}`WARN_FLAGS`, use with C{++} 28bea63838 build: set {`NO`}`WARN_CFLAGS` flags if not overridden and uniformly 32c2f0f5f8 trivial: rename `CORE_CXXFLAGS` to `CORE_FLAGS`, use with C{++} b630c2c323 build: append `HARDENED_FLAGS` to `AM_CFLAGS` e6008148e4 trivial: rename `HARDENED_CXXFLAGS` to `HARDENED_FLAGS` af0e3daef5 build: subsume `PI{C,E}_FLAGS` into `HARDENED_CXXFLAGS` 9ff8618a1b build: expand `--disable-optimizations` to include `-O0` and `-fwrapv` 3036b83181 build: expand `--enable-debug` to include `-O0`, `-ftrapv` and dbg info c90d43d43b build: add check to see if `CFLAGS` has been overridden 2d77f7ae49 build: remove vestigial `LIBTOOL_{CXX,CPP,LD}FLAGS`, `HARDENED_CPPFLAGS` 883a098868 build: autodetect i?86 and arm as 32-bit deb3269820 build: don't specify exact `{CPU_}ARCH` if optimizations are disabled 720d49a44b trivial: fix indentation for `want_backend` check f9328320af build: use `easy` backend if optimizations are disabled unless specified 3687cd59e0 build: define new flag `--enable-optimizations` f82bfee5dd build: ensure help string format matches Autotool defaults d68920063e build: define arguments as `--enable-[term]` instead of `--disable-[term]` 7f41e7dd16 fix: support android 1c2fc79c19 feat(rust): allow to move G1 and G2 elements between threads (#87) 3540b8bbed feat: debug with data hex (#86) git-subtree-dir: src/dashbls git-subtree-split: 4e070243aed142bc458472f8807ab77527dd879a
73 lines
2.1 KiB
YAML
73 lines
2.1 KiB
YAML
name: Build and test library
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
tags:
|
|
- '**'
|
|
pull_request:
|
|
branches:
|
|
- '**'
|
|
|
|
concurrency:
|
|
# SHA is added to the end if on `main` to let all main workflows run
|
|
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ (github.ref == 'refs/heads/main') && github.sha || '' }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.os }}, ${{ matrix.builder }}, ${{ matrix.compiler.cc }}, ${{ matrix.backend }} backend
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ macos-latest, ubuntu-20.04 ]
|
|
builder: [ cmake, autotools ]
|
|
compiler:
|
|
- cc: gcc
|
|
cxx: g++
|
|
- cc: clang
|
|
cxx: clang++
|
|
backend: [ easy, gmp ]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Prepare build system for Ubuntu
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -qq --yes valgrind libgmp-dev cmake
|
|
hash -r
|
|
cmake --version
|
|
|
|
- name: Prepare build system for macOS
|
|
if: startsWith(matrix.os, 'macos')
|
|
run: |
|
|
ls -l
|
|
export MACOSX_DEPLOYMENT_TARGET=10.14
|
|
brew install autoconf automake gmp libtool pkg-config
|
|
|
|
- name: Build library using CMake
|
|
if: startsWith(matrix.builder, 'cmake')
|
|
run: |
|
|
mkdir -p build && cd build
|
|
CC=${{ matrix.compiler.cc }} CXX=${{ matrix.compiler.cxx }} cmake .. -DBUILD_BLS_PYTHON_BINDINGS=0 -DARITH=${{ matrix.backend }}
|
|
cmake --build . -- -j 6
|
|
mv src/runtest ..
|
|
|
|
- name: Build library using GNU Autotools
|
|
if: startsWith(matrix.builder, 'autotools')
|
|
run: |
|
|
./autogen.sh
|
|
CC=${{ matrix.compiler.cc }} CXX=${{ matrix.compiler.cxx }} ./configure --with-backend=${{ matrix.backend }}
|
|
make -j8
|
|
|
|
- name: Run tests
|
|
run: ./runtest
|
|
|
|
- name: Run valgrind on Ubuntu
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
run: valgrind --leak-check=full --show-leak-kinds=all --errors-for-leak-kinds=all ./runtest
|