dash/.github/workflows/build-binds.yml
Kittywhiskers Van Gogh 62fa66524c Squashed 'src/dashbls/' changes from 4e070243ae..7e747e8a07
7e747e8a07 Merge pull request #105 from kwvg/bump_1.3.4
f8703c9971 chore: bump version to 1.3.4
5cc55ce222 Merge pull request #104 from UdjinM6/fix_gmp_freebsd
aad89e3e86 Merge pull request #103 from kwvg/pyci_upd
a52d7ed109 Merge pull request #102 from kwvg/autoconf
56b2d4a0ac ci: replace EoL Go 1.17 with 1.22
17f3ab47a0 ci: drop EoL Python 3.7 and 3.8, replace with Python 3.12
a3fcdde7c5 fix: gmp detection on FreeBSD
e73acdd304 build: consolidate `TARGET_OS` assignments into `OPSYS` assignment case
343c6244ac build: remove unnecessary `BUILD_`{`BENCH`, `TEST`} variables
af9a6906c3 build: account for FreeBSD's `amd64` `host_cpu` in optim. CPU detection
34a7c60e86 build: replace `bash`-isms with `sh`-friendly `test` and `case`

git-subtree-dir: src/dashbls
git-subtree-split: 7e747e8a0769f6e4d308d8d2e3dd254c240cbdd9
2024-12-04 16:04:26 +00:00

85 lines
2.0 KiB
YAML

name: Build and test binds
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 }}, Python ${{ matrix.python }}, Go ${{ matrix.golang }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
golang: [ '1.22' ]
python: ['3.9', '3.10', '3.11', '3.12']
steps:
- name: Checkout code
uses: actions/checkout@v3
- uses: chia-network/actions/setup-python@main
with:
python-version: ${{ matrix.python }}
- name: Test Python implementation
run: |
python python-impl/impl-test.py
- name: Install Emscripten SDK
uses: mymindstorm/setup-emsdk@v11
- name: Build JavaScript bindings
run: |
emcc -v
sh emsdk_build.sh
- name: Test JavaScript bindings
run: |
sh js_test.sh
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ^${{ matrix.golang }}
- 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 gmp
- name: Build library using CMake
run: |
mkdir -p build && cd build
cmake ..
cmake --build . -- -j 6
- name: Build Go bindings
# TODO: macos build is broken. Whoever needs this - please fix it and remove `if` below.
if: startsWith(matrix.os, 'ubuntu')
run: |
cd go-bindings
make