From d0442abd0c70737a5110b9a51e30a9ffb408e218 Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Mon, 23 Jan 2023 21:27:56 +0100 Subject: [PATCH] Added windows CI --- .github/workflows/windows.yml | 64 +++++++++++++++++++ .../gitnuro/ssh/libssh/LibSshWrapper.kt | 3 +- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..97e5021 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,64 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +name: Windows Build + +on: + push: + branches: [ "main", "actions" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: Check out VCPKG + uses: actions/checkout@master + with: + repository: Microsoft/vcpkg + path: vcpkg + - name: Install libssh + run: | + mkdir out + cd vcpkg + ls -a + pwd + bash bootstrap-vcpkg.sh + ./vcpkg.exe install libssh:x64-windows + cp installed/x64-windows/bin/* ../out + cd .. + shell: bash + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'corretto' + architecture: x64 + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: createDistributable + - name: Copy gitnuro binaries + run: | + cp -r build/compose/binaries/main/app/Gitnuro/* out/ + shell: bash + - name: Copy all binaries + run: | + Compress-Archive out/* Gitnuro-Windows-Portable.zip + - name: upload windows artifact + uses: actions/upload-artifact@v1 + with: + name: Gitnuro-Windows-Portable + path: Gitnuro-Windows-Portable.zip \ No newline at end of file diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ssh/libssh/LibSshWrapper.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ssh/libssh/LibSshWrapper.kt index 9e68b68..2f99bf5 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ssh/libssh/LibSshWrapper.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ssh/libssh/LibSshWrapper.kt @@ -1,5 +1,6 @@ package com.jetpackduba.gitnuro.ssh.libssh +import com.jetpackduba.gitnuro.extensions.getCurrentOs import com.sun.jna.Library import com.sun.jna.Native import com.sun.jna.PointerType @@ -43,7 +44,7 @@ interface SSHLibrary : Library { companion object { val INSTANCE = Native.loadLibrary( - "libssh", + if (getCurrentOs().isWindows()) "ssh" else "libssh", SSHLibrary::class.java ) as SSHLibrary }