From f6d4afddb239ed67e5f0f3190b534a3463fced32 Mon Sep 17 00:00:00 2001 From: Enwei Jiao Date: Wed, 11 Oct 2023 15:18:37 -0700 Subject: [PATCH 1/4] Add bindings_go workflow --- .github/workflows/bindings_go.yml | 78 +++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/bindings_go.yml diff --git a/.github/workflows/bindings_go.yml b/.github/workflows/bindings_go.yml new file mode 100644 index 000000000000..c198fc8a0fe9 --- /dev/null +++ b/.github/workflows/bindings_go.yml @@ -0,0 +1,78 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Bindings Go CI + +on: + push: + branches: + - main + tags: + - '*' + pull_request: + branches: + - main + paths: + - "core/**" + - "bindings/c/**" + - "bindings/go/**" + - ".github/workflows/bindings_go.yml" + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: korandoru/setup-go@v4 + with: + go-version: '1.20' + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + + - name: Build c binding + working-directory: bindings/c + run: make build + + - name: Check diff + run: git diff --exit-code + + - name: Generate pkg-config file + run: | + echo "libdir=$(pwd)/target/debug/" >> opendal_c.pc + echo "includedir=$(pwd)/bindings/c/include/" >> opendal_c.pc + echo "Name: opendal_c" >> opendal_c.pc + echo "Description: opendal c binding" >> opendal_c.pc + echo "Version: 0.0.1" >> opendal_c.pc + echo "Libs: -L\${libdir} -lopendal_c" >> opendal_c.pc + echo "Cflags: -I\${includedir}" >> opendal_c.pc + + echo "PKG_CONFIG_PATH=$(pwd)" >> $GITHUB_ENV + + cat opendal_c.pc + + - name: Run tests + working-directory: bindings/go + run: go test -tags dynamic . From 86753322316f861e7c447ae14bcda1c53ba78371 Mon Sep 17 00:00:00 2001 From: Enwei Jiao Date: Wed, 11 Oct 2023 21:48:34 -0700 Subject: [PATCH 2/4] Change to actions/setup-go --- .github/workflows/bindings_go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bindings_go.yml b/.github/workflows/bindings_go.yml index c198fc8a0fe9..22f114a8505f 100644 --- a/.github/workflows/bindings_go.yml +++ b/.github/workflows/bindings_go.yml @@ -45,7 +45,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: korandoru/setup-go@v4 + - uses: actions/setup-go@v4 with: go-version: '1.20' From 0683b20075d16918d275d4544b71079ffe1661d3 Mon Sep 17 00:00:00 2001 From: Enwei Jiao Date: Thu, 12 Oct 2023 09:39:48 -0700 Subject: [PATCH 3/4] Add LD_LIBRARY_PATH --- .github/workflows/bindings_go.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/bindings_go.yml b/.github/workflows/bindings_go.yml index 22f114a8505f..76ad46b3fd4d 100644 --- a/.github/workflows/bindings_go.yml +++ b/.github/workflows/bindings_go.yml @@ -70,8 +70,7 @@ jobs: echo "Cflags: -I\${includedir}" >> opendal_c.pc echo "PKG_CONFIG_PATH=$(pwd)" >> $GITHUB_ENV - - cat opendal_c.pc + echo "LD_LIBRARY_PATH=$(pwd)" >> $GITHUB_ENV - name: Run tests working-directory: bindings/go From 30d22e03a70a6660d3bc19e5600ecffa96efedf0 Mon Sep 17 00:00:00 2001 From: Enwei Jiao Date: Thu, 12 Oct 2023 09:44:17 -0700 Subject: [PATCH 4/4] Fix path --- .github/workflows/bindings_go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bindings_go.yml b/.github/workflows/bindings_go.yml index 76ad46b3fd4d..0247332d1d83 100644 --- a/.github/workflows/bindings_go.yml +++ b/.github/workflows/bindings_go.yml @@ -70,7 +70,7 @@ jobs: echo "Cflags: -I\${includedir}" >> opendal_c.pc echo "PKG_CONFIG_PATH=$(pwd)" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=$(pwd)" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=$(pwd)/target/debug" >> $GITHUB_ENV - name: Run tests working-directory: bindings/go