Skip to content

Gemspec file cleanup #17

Gemspec file cleanup

Gemspec file cleanup #17

on:
push:
branches: [ main ]
pull_request:
permissions:
contents: read
pull-requests: write
name: Spanner Lib Tests
jobs:
test:
strategy:
matrix:
go-version: [1.25.x]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v5
- name: Run unit tests
working-directory: spannerlib
run: go test ./... -race -short
java-wrapper:
strategy:
matrix:
go-version: [1.25.x]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Checkout code
uses: actions/checkout@v5
- name: Check Java formatting
run: mvn com.spotify.fmt:fmt-maven-plugin:check
working-directory: spannerlib/wrappers/spannerlib-java
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}
- name: Build shared library
working-directory: spannerlib/shared
run: go build -o spannerlib.so -buildmode=c-shared shared_lib.go
- name: Copy to Java wrapper
working-directory: spannerlib
run: |
echo "$RUNNER_OS"
if [ "$RUNNER_OS" == "Windows" ]; then
mkdir -p wrappers/spannerlib-java/src/main/resources/win32-x86-64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/win32-x86-64/spanner.dll
elif [ "$RUNNER_OS" == "macOS" ]; then
mkdir -p wrappers/spannerlib-java/src/main/resources/darwin-aarch64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/darwin-aarch64/libspanner.dylib
else
mkdir -p wrappers/spannerlib-java/src/main/resources/linux-x86-64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/linux-x86-64/libspanner.so
fi
shell: bash
- name: ls spannerlib.so
working-directory: spannerlib/wrappers/spannerlib-java/src/main/resources
run: ls -lha
shell: bash
- name: Run Java tests
run: mvn -Djna.debug_load=true test
working-directory: spannerlib/wrappers/spannerlib-java
shell: bash