Added windows CI

This commit is contained in:
Abdelilah El Aissaoui 2023-01-23 21:27:56 +01:00
parent 602c407251
commit d0442abd0c
2 changed files with 66 additions and 1 deletions

64
.github/workflows/windows.yml vendored Normal file
View File

@ -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

View File

@ -1,5 +1,6 @@
package com.jetpackduba.gitnuro.ssh.libssh package com.jetpackduba.gitnuro.ssh.libssh
import com.jetpackduba.gitnuro.extensions.getCurrentOs
import com.sun.jna.Library import com.sun.jna.Library
import com.sun.jna.Native import com.sun.jna.Native
import com.sun.jna.PointerType import com.sun.jna.PointerType
@ -43,7 +44,7 @@ interface SSHLibrary : Library {
companion object { companion object {
val INSTANCE = Native.loadLibrary( val INSTANCE = Native.loadLibrary(
"libssh", if (getCurrentOs().isWindows()) "ssh" else "libssh",
SSHLibrary::class.java SSHLibrary::class.java
) as SSHLibrary ) as SSHLibrary
} }