diff --git a/.github/workflows/dylib.yml b/.github/workflows/dylib.yml new file mode 100644 index 00000000..972027d1 --- /dev/null +++ b/.github/workflows/dylib.yml @@ -0,0 +1,79 @@ +name: Build Rust Crate Dynamic Library + +on: + push: + branches: + - kendall/build-both-macs_linux + +jobs: + build-intel: + runs-on: macos-13 + name: Build on Intel (x86) macOS + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup toolchain install stable + - name: Set Target + run: rustup target add x86_64-apple-darwin + - name: Build + run: cargo build --target x86_64-apple-darwin -p tbdex_uniffi --release + - name: Upload .dylib + uses: actions/upload-artifact@v3 + with: + name: intel-build-dylib + path: target/x86_64-apple-darwin/release/libtbdex_uniffi.dylib + + build-apple-silicon: + runs-on: macos-latest + name: Build on Apple Silicon (ARM) macOS + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup toolchain install stable + - name: Build + run: cargo build -p tbdex_uniffi --release + - name: Upload .dylib + uses: actions/upload-artifact@v3 + with: + name: apple-silicon-build-dylib + path: target/release/libtbdex_uniffi.dylib + + build-ubuntu: + runs-on: ubuntu-latest + name: Build on Ubuntu (AMD64) + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup toolchain install stable + - name: Set Target + run: rustup target add x86_64-unknown-linux-gnu + - name: Install Dependencies + run: sudo apt-get update && sudo apt-get install -y build-essential + - name: Build + run: cargo build --target x86_64-unknown-linux-gnu -p tbdex_uniffi --release + - name: Upload .so + uses: actions/upload-artifact@v3 + with: + name: ubuntu-build-so + path: target/x86_64-unknown-linux-gnu/release/libtbdex_uniffi.so + + build-alpine: + runs-on: ubuntu-latest + name: Build on Alpine (AMD64) + steps: + - uses: actions/checkout@v2 + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y musl-tools + - name: Install Rust + run: rustup toolchain install stable + - name: Set Target + run: rustup target add x86_64-unknown-linux-musl + - name: Build + run: cargo build --target x86_64-unknown-linux-musl -p tbdex_uniffi --release + - name: Upload .so + uses: actions/upload-artifact@v3 + with: + name: alpine-build-so + path: target/x86_64-unknown-linux-musl/release/libtbdex_uniffi.so diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index bb9a597e..00000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Build Rust Crate for macOS - -on: - push: - branches: - - kendall/build-both-macs - -jobs: - build-intel: - runs-on: macos-13 - name: Build on Intel (x86) macOS - steps: - - uses: actions/checkout@v2 - - name: Install Rust - run: rustup toolchain install stable - - name: Set Target - run: rustup target add x86_64-apple-darwin - - name: Build - run: cargo build --target x86_64-apple-darwin -p tbdex_uniffi --release - - name: Upload .dylib - uses: actions/upload-artifact@v3 - with: - name: intel-build-dylib - path: target/x86_64-apple-darwin/release/libtbdex_uniffi.dylib - - build-apple-silicon: - runs-on: macos-latest - name: Build on Apple Silicon (ARM) macOS - steps: - - uses: actions/checkout@v2 - - name: Install Rust - run: rustup toolchain install stable - - name: Build - run: cargo build -p tbdex_uniffi --release - - name: Upload .dylib - uses: actions/upload-artifact@v3 - with: - name: apple-silicon-build-dylib - path: target/release/libtbdex_uniffi.dylib