Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

Commit

Permalink
Attempt to build shared libs dynamically
Browse files Browse the repository at this point in the history
  • Loading branch information
KendallWeihe committed Jul 22, 2024
1 parent 45628a5 commit f81a59e
Show file tree
Hide file tree
Showing 2 changed files with 139 additions and 29 deletions.
107 changes: 107 additions & 0 deletions .github/workflows/gh-mvn-2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Build Shared Libraries

on:
push:
branches:
- main
- kendall/github-mvn-repo
pull_request:

jobs:
build_aarch64_apple_darwin:
runs-on: macos-latest
name: Build aarch64-apple-darwin target
steps:
- uses: actions/checkout@v2
- name: Install Rust
run: rustup toolchain install stable
- name: Run Build Script
run: |
cd bindings/tbdex_uniffi/libtargets/aarch64-apple-darwin
./build
- name: Upload .dylib
uses: actions/upload-artifact@v3
with:
name: aarch64-apple-darwin-dylib
path: bound/kt/src/main/resources/libtbdex_uniffi_aarch64_apple_darwin.dylib

build_x86_64_apple_darwin:
runs-on: macos-latest
name: Build x86_64-apple-darwin target
steps:
- uses: actions/checkout@v2
- name: Install Rust
run: rustup toolchain install stable
- name: Run Build Script
run: |
cd bindings/tbdex_uniffi/libtargets/x86_64-apple-darwin
./build
- name: Upload .dylib
uses: actions/upload-artifact@v3
with:
name: x86_64-apple-darwin-dylib
path: bound/kt/src/main/resources/libtbdex_uniffi_x86_64_apple_darwin.dylib

build_x86_64_unknown_linux_gnu:
runs-on: ubuntu-latest
name: Build x86_64-unknown-linux-gnu target
steps:
- uses: actions/checkout@v2
- name: Run Build Script
run: |
cd bindings/tbdex_uniffi/libtargets/x86_64-unknown-linux-gnu
./build
- name: Upload .so
uses: actions/upload-artifact@v3
with:
name: x86_64-unknown-linux-gnu-so
path: bound/kt/src/main/resources/libtbdex_uniffi_x86_64_unknown_linux_gnu.so

build_x86_64_unknown_linux_musl:
runs-on: ubuntu-latest
name: Build x86_64-unknown-linux-musl target
steps:
- uses: actions/checkout@v2
- name: Run Build Script
run: |
cd bindings/tbdex_uniffi/libtargets/x86_64-unknown-linux-musl
./build
- name: Upload .so
uses: actions/upload-artifact@v3
with:
name: x86_64-unknown-linux-musl-so
path: bound/kt/src/main/resources/libtbdex_uniffi_x86_64_unknown_linux_musl.so

test_shared_libraries:
runs-on: ubuntu-latest
needs:
- build_aarch64_apple_darwin
- build_x86_64_apple_darwin
- build_x86_64_unknown_linux_gnu
- build_x86_64_unknown_linux_musl
strategy:
matrix:
target:
[
aarch64_apple_darwin,
x86_64_apple_darwin,
x86_64_unknown_linux_gnu,
x86_64_unknown_linux_musl,
]
name: Test on ${{ matrix.target }}
steps:
- uses: actions/checkout@v2
- name: Download binaries
uses: actions/download-artifact@v3
with:
name: ${{ matrix.target }}-dylib
path: bound/kt/src/main/resources/
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: "adopt"
java-version: "11"
- name: Run tests
run: |
cd bound/kt
mvn '-Dtest=SystemArchitectureTest#can load shared library' test
61 changes: 32 additions & 29 deletions .github/workflows/gh-mvn.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,35 +11,38 @@ jobs:
runs-on: macos-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true # Checkout submodules
fetch-depth: 0 # Fetch all history for all branches and tags
- name: Temporary commented out
run: echo "hello world"

- name: Set up Java
uses: actions/setup-java@v3
with:
# distribution: 'temurin'
# java-version: '17' # Adjust the Java version as needed
distribution: 'adopt'
java-version: '11'
# - name: Checkout repository
# uses: actions/checkout@v3
# with:
# submodules: true # Checkout submodules
# fetch-depth: 0 # Fetch all history for all branches and tags

- name: Set up Maven settings
run: |
mkdir -p ~/.m2
echo "<settings xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd\">
<servers>
<server>
<id>github</id>
<username>${{ github.actor }}</username>
<password>${{ secrets.GITHUB_TOKEN }}</password>
</server>
</servers>
</settings>" > ~/.m2/settings.xml
# - name: Set up Java
# uses: actions/setup-java@v3
# with:
# # distribution: 'temurin'
# # java-version: '17' # Adjust the Java version as needed
# distribution: 'adopt'
# java-version: '11'

- name: Build and deploy
run: |
cd bound/kt
mvn '-Dtest=SystemArchitectureTest#can load shared library' test
mvn deploy
# - name: Set up Maven settings
# run: |
# mkdir -p ~/.m2
# echo "<settings xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd\">
# <servers>
# <server>
# <id>github</id>
# <username>${{ github.actor }}</username>
# <password>${{ secrets.GITHUB_TOKEN }}</password>
# </server>
# </servers>
# </settings>" > ~/.m2/settings.xml

# - name: Build and deploy
# run: |
# cd bound/kt
# mvn '-Dtest=SystemArchitectureTest#can load shared library' test
# mvn deploy

0 comments on commit f81a59e

Please sign in to comment.