Skip to content

make c# publish depend on platform build #8

make c# publish depend on platform build

make c# publish depend on platform build #8

Workflow file for this run

name: Publish C# Bindings
on:
push:
branches:
- "build-artifacts-in-ci"
jobs:
build-all-platforms:
name: Build all platforms
uses: ./.github/workflows/build-all-platforms.yml
build-package:
needs: build-all-platforms
runs-on: ubuntu-latest
steps:
- name: Checkout breez-sdk repo
uses: actions/checkout@v3
- name: Install rust
run: |
rustup set auto-self-update disable
rustup toolchain install stable --profile minimal
cargo install uniffi-bindgen-cs --git https://github.com/breez/uniffi-bindgen-cs --branch namespace
- name: Build C# binding
working-directory: libs/sdk-bindings
run: |
uniffi-bindgen-cs src/breez_sdk.udl -o bindings-csharp -c ./uniffi.toml
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-aarch64-apple-darwin
path: libs/sdk-bindings/bindings-csharp/runtimes/osx-arm64/native
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-x86_64-apple-darwin
path: libs/sdk-bindings/bindings-csharp/runtimes/osx-x64/native
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-aarch64-unknown-linux-gnu
path: libs/sdk-bindings/bindings-csharp/runtimes/linux-arm64/native
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-x86_64-unknown-linux-gnu
path: libs/sdk-bindings/bindings-csharp/runtimes/linux-x64/native
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-aarch64-pc-windows-msvc
path: libs/sdk-bindings/bindings-csharp/runtimes/win-arm64/native
- uses: actions/download-artifact@v3
with:
name: sdk-bindings-${{ github.sha }}-x86_64-pc-windows-msvc
path: libs/sdk-bindings/bindings-csharp/runtimes/win-x64/native
# - name: Update package version
# working-directory: dist/libs/sdk-bindings/bindings-csharp
# run: sed -i.bak -e 's/<Version>.*<\/Version>/<Version>${{ inputs.version }}<\/Version>/' Breez.Sdk.csproj
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '6.0.x'
- name: Build the project
working-directory: dist/libs/sdk-bindings/bindings-csharp
run: dotnet build Breez.Sdk.csproj
- name: Create the package
working-directory: dist/libs/sdk-bindings/bindings-csharp
run: dotnet pack --configuration Release Breez.Sdk.csproj
- name: Archive the package
uses: actions/upload-artifact@v2
with:
name: Breez.Sdk.${{ github.sha }}.nupkg
path: dist/libs/sdk-bindings/bindings-csharp/bin/Release/Breez.Sdk.*.nupkg