X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=b82ed8d50e2be0fa543147dfb1bbdf78bc31f4c4;hb=4d63ad47ee49d1fb467dfd448c030aedfbcbec2f;hp=b64b7c09c5d4b6e6b20500bfdaa0487be3965a1c;hpb=0d1a32fbfbfbde3d55529b8a23452bdeca4afd8f;p=ldk-c-bindings diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b64b7c0..b82ed8d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,11 +25,19 @@ jobs: run: | # Note that the version tags aren't checked into git touch src/version.rs - cargo check + RUSTFLAGS="--cfg=c_bindings" cargo check --features std - name: Install cbindgen - run: cargo install --force cbindgen + run: | + git clone https://github.com/eqrion/cbindgen + cd cbindgen/ + git checkout v0.20.0 + cargo update -p indexmap --precise "1.6.2" --verbose + cargo install --locked --path . - name: Checkout Rust-Lightning git - run: git clone https://github.com/rust-bitcoin/rust-lightning + run: | + git clone https://github.com/rust-bitcoin/rust-lightning + cd rust-lightning + git checkout 0.0.114-bindings - name: Rebuild bindings without std, and check the sample app builds + links run: ./genbindings.sh ./rust-lightning false - name: Rebuild bindings, and check the sample app builds + links @@ -48,3 +56,42 @@ jobs: git diff --exit-code fi + osx: + strategy: + matrix: + include: + - platform: macos-10.15 + - platform: macos-11 + runs-on: ${{ matrix.platform }} + env: + TOOLCHAIN: stable + steps: + - name: Install other Rust platforms + run: rustup target install aarch64-apple-darwin + - name: Fetch upstream LLVM/clang snapshot + run: | + wget -O clang+llvm-15.0.3-x86_64-apple-darwin.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.3/clang+llvm-15.0.3-x86_64-apple-darwin.tar.xz + if [ "$(shasum -a 256 clang+llvm-15.0.3-x86_64-apple-darwin.tar.xz | awk '{ print $1 }')" != "ac668586b2b3d068f1e43520a3ef0b1592e5dc3eff1a4a4b772e29803b428a69" ]; then + echo "Bad hash" + exit 1 + fi + - name: Unpack upstream LLVM+clang and use it by default + run: | + tar xvvf clang+llvm-15.0.3-x86_64-apple-darwin.tar.xz + - name: Checkout source code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install cbindgen + run: cargo install cbindgen + - name: Checkout Rust-Lightning git + run: | + git clone https://github.com/rust-bitcoin/rust-lightning + cd rust-lightning + git checkout 0.0.114-bindings + - name: Rebuild bindings using Apple clang, and check the sample app builds + links + run: ./genbindings.sh ./rust-lightning true + - name: Rebuild bindings using upstream clang, and check the sample app builds + links + run: | + export PATH=`pwd`/clang+llvm-15.0.3-x86_64-apple-darwin/bin:$PATH + CC=clang ./genbindings.sh ./rust-lightning true