Skip to content

Commit

Permalink
Merge pull request #3 from mrjsj/add-linux-support
Browse files Browse the repository at this point in the history
Add linux support
  • Loading branch information
mrjsj authored Jun 15, 2024
2 parents 7766798 + 60b5f70 commit ac2bc87
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 15 deletions.
37 changes: 26 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,20 +108,25 @@ jobs:
cp ${{ matrix.duckdb-url-name }}\${{ matrix.duckdb-lib-name }}.dll ${{ env.TARGET_PATH }}\${{ matrix.duckdb-lib-name }}.dll
cp ${{ matrix.duckdb-url-name }}\${{ matrix.duckdb-lib-name }}.lib ${{ env.TARGET_PATH }}\${{ matrix.duckdb-lib-name }}.lib
ls -R
scons platform=windows target=${{ matrix.target }} target_path=${{ env.TARGET_PATH }} duckdb_lib_path=${{ matrix.duckdb-url-name }} duckdb_lib_name=duckdb target_name=${{ env.TARGET_NAME }} -j6 ${{ matrix.flags }}
# - name: Windows Compilation Dump Dependants
# if: runner.os == 'Windows'
# run: |
# dumpbin /DEPENDENTS ${{ env.TARGET_PATH }}\libgdduckdb.windows.template_debug.x86_64
scons platform=${{ matrix.platform }} target=${{ matrix.target }} target_path=${{ env.TARGET_PATH }} duckdb_lib_path=${{ matrix.duckdb-url-name }} duckdb_lib_name=duckdb target_name=${{ env.TARGET_NAME }} -j6 ${{ matrix.flags }}
- name: Not Windows Compilation
if: runner.os != 'Windows'
run: |
curl -OL ${{ env.DUCKDB_BASE_URL }}${{ matrix.duckdb-url-name }}.zip
unzip ${{ matrix.duckdb-url-name }}.zip -d ${{ matrix.duckdb-url-name }}
mkdir -v -p ${{ env.PROJECT_FOLDER }}/${{ env.TARGET_PATH }}
cd ${{ env.PROJECT_FOLDER }}
ls -R
scons platform=${{ matrix.platform }} target=${{ matrix.target }} target_path=${{ env.TARGET_PATH }} target_name=${{ env.TARGET_NAME }} -j6 ${{ matrix.flags }}
scons platform=${{ matrix.platform }} target=${{ matrix.target }} target_path=${{ env.TARGET_PATH }} duckdb_lib_path=${{ matrix.duckdb-url-name }} duckdb_lib_name=${{ matrix.duckdb-lib-name }} target_name=${{ env.TARGET_NAME }} -j6 ${{ matrix.flags }}
- name: Copy DuckDB binaries (linux)
if: ${{ matrix.platform == 'linux' }}
run: |
cp ${{ matrix.duckdb-url-name }}/${{ matrix.duckdb-lib-name }} ${{ env.TARGET_PATH }}/${{ matrix.duckdb-lib-name }}
cp ${{ matrix.duckdb-url-name }}/libduckdb_static.a ${{ env.TARGET_PATH }}/libduckdb_static.a
ls -R ./${{ env.TARGET_PATH }}
- name: Copy DuckDB binaries and fix link (MacOS)
if: ${{ matrix.platform == 'macos' }}
Expand All @@ -131,6 +136,12 @@ jobs:
ls -R ./${{ env.TARGET_PATH }}
otool -L ./${{ env.TARGET_PATH }}${{ env.TARGET_NAME }}.${{ matrix.platform }}.${{ matrix.target }}.framework/${{ env.TARGET_NAME }}.${{ matrix.platform }}.${{ matrix.target }}
# - name: Copy DuckDB binaries (linux)
# if: ${{ matrix.platform == 'linux' }}
# run: |
# cp ./src/duckdb/libduckdb.so ./${{ env.TARGET_PATH }}/libduckdb.so
# ls -R ./${{ env.TARGET_PATH }}
# ldd ./${{ env.TARGET_PATH }}${{ env.TARGET_NAME }}.${{ matrix.platform }}.${{ matrix.target }}.so
# - name: Copy DuckDB binaries and fix link (Not MacOS)
# if: ${{ matrix.platform != 'macos' }}
# run: |
Expand Down Expand Up @@ -176,6 +187,8 @@ jobs:
cp -rf ${{steps.download.outputs.download-path}}/artifact-macos-template_release/* ${{ env.TARGET_PATH }}
cp -rf ${{steps.download.outputs.download-path}}/artifact-windows-template_debug/* ${{ env.TARGET_PATH }}
cp -rf ${{steps.download.outputs.download-path}}/artifact-windows-template_release/* ${{ env.TARGET_PATH }}
cp -rf ${{steps.download.outputs.download-path}}/artifact-linux-template_debug/* ${{ env.TARGET_PATH }}
cp -rf ${{steps.download.outputs.download-path}}/artifact-linux-template_release/* ${{ env.TARGET_PATH }}
zip -r demo.zip demo/
cd ${{ env.TARGET_PATH }}/..
Expand Down Expand Up @@ -209,15 +222,15 @@ jobs:
LATEST_ASSETLIB_BRANCH=$(git branch -r --list "origin/assetlib*" | sort -r | head -n 1)
LATEST_ASSETLIB_BRANCH=${LATEST_ASSETLIB_BRANCH#origin/}
echo "Latest assetlib branch is $LATEST_ASSETLIB_BRANCH"
echo "::set-output name=branch::$LATEST_ASSETLIB_BRANCH"
echo "LATEST_ASSETLIB_BRANCH=${LATEST_ASSETLIB_BRANCH}" >> "$GITHUB_OUTPUT"
- name: Create and checkout new branch
id: new_branch
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
NEW_BRANCH_NAME="assetlib-${TAG_NAME}"
git checkout -b $NEW_BRANCH_NAME ${{ steps.find_branch.outputs.branch }}
echo "::set-output name=new_branch_name::$NEW_BRANCH_NAME"
git checkout -b $NEW_BRANCH_NAME ${{ steps.find_branch.outputs.LATEST_ASSETLIB_BRANCH }}
echo "NEW_BRANCH_NAME=${NEW_BRANCH_NAME}" >> "$GITHUB_OUTPUT"
- name: Download Artifacts
id: download
Expand All @@ -235,13 +248,15 @@ jobs:
cp -rf ./artifacts/artifact-macos-template_release/* ./addons/godot-duckdb/bin/
cp -rf ./artifacts/artifact-windows-template_debug/* ./addons/godot-duckdb/bin/
cp -rf ./artifacts/artifact-windows-template_release/* ./addons/godot-duckdb/bin/
cp -rf ./artifacts/artifact-linux-template_debug/* ./addons/godot-duckdb/bin/
cp -rf ./artifacts/artifact-linux-template_release/* ./addons/godot-duckdb/bin/
- name: Commit changes and push
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add ./addons/godot-duckdb/bin/
git commit -m "Update to latest binaries"
git push origin ${{ steps.new_branch.outputs.new_branch_name }}
git push origin ${{ steps.new_branch.outputs.NEW_BRANCH_NAME }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24 changes: 20 additions & 4 deletions .github/workflows/build_var.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"platform": "macos",
"artifact-extension": "framework",
"flags": "arch=universal",
"skip": false,
"cache-name": "macos-universal",
"duckdb-url-name": "libduckdb-osx-universal",
"duckdb-lib-name": "libduckdb.dylib"
Expand All @@ -30,19 +31,34 @@
"os": "windows-latest",
"platform": "windows",
"artifact-extension": "dll",
"skip": false,
"flags": "use_mingw=yes",
"cache-name": "win-x86_64-mingw",
"duckdb-url-name": "libduckdb-windows-amd64",
"duckdb-lib-name": "duckdb"
"duckdb-lib-name": "duckdb"
},
{
"name": "Ubuntu (GCC)",
"name": "Ubuntu (x86_64)",
"os": "ubuntu-20.04",
"arch": "x86_64",
"platform": "linux",
"artifact-extension": "so",
"skip": true,
"cache-name": "linux-x86_64"
"skip": false,
"cache-name": "linux-x86_64",
"duckdb-url-name": "libduckdb-linux-amd64",
"duckdb-lib-name": "libduckdb.so"
},
{
"name": "Ubuntu (arm64)",
"os": "ubuntu-20.04",
"platform": "linux",
"arch": "arm64",
"artifact-extension": "so",
"skip": true,
"cache-name": "linux-arm64",
"duckdb-url-name": "libduckdb-linux-aarch64",
"duckdb-lib-name": "libduckdb.so"
},
{
"name": "Android (x86_64)",
"os": "ubuntu-20.04",
Expand Down

0 comments on commit ac2bc87

Please sign in to comment.