Skip to content

build: replace bash-isms with sh-friendly test and case, cleanup #180

build: replace bash-isms with sh-friendly test and case, cleanup

build: replace bash-isms with sh-friendly test and case, cleanup #180

Workflow file for this run

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.17' ]
python: ['3.7', '3.8', '3.9', '3.10', '3.11']
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