diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c1e6426..4e55468 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,6 +17,7 @@ simpleCheck: script: echo PREPARE tags: - linuxX64 +# ---- Linux builds ---- buildLinux: stage: build @@ -26,6 +27,21 @@ buildLinux: - ./linuxBuild.sh tags: - linuxX64 +linuxPublishToSnapshot: + script: + - ./linuxBuild.sh + - ./linuxBuildAndPublish.sh + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + - allow_failure: false + needs: + - job: buildLinux + tags: + - linuxX64 + + +# ---- Mac builds ---- + buildMac: stage: build when: manual @@ -34,11 +50,40 @@ buildMac: - ./macBuild.sh tags: - macos + +macPublishToSnapshot: + script: + - ./macBuild.sh + - ./macBuildAndPublishSnapshot-bindings.sh + - ./macBuildAndPublishSnapshot-delegated.sh + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + - allow_failure: false + needs: + - job: buildMac + tags: + - macos + +# ---- Windows builds ---- + buildWindows: stage: build when: manual allow_failure: false - script: echo TEST_PULL_REQUEST_WIN + script: + - ./windowsBuild-delegated.sh + - ./windowsBuild-pure.sh tags: - windowsX64 +windowsPublishToSnapshot: + script: + - ./windowsBuildAndPublish-delegated.sh + - ./windowsBuildAndPublish-pure.sh + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + - allow_failure: false + needs: + - job: buildWindows + tags: + - windowsX64 diff --git a/macBuild.sh b/macBuild.sh index a2c6d85..23d0c7c 100755 --- a/macBuild.sh +++ b/macBuild.sh @@ -12,4 +12,5 @@ cd .. #pure build ./gradlew multiplatform-crypto:build #libsodium bindings -set +e \ No newline at end of file +./gradlew multiplatform-crypto-libsodium-bindings:build +set +e diff --git a/bindings-macBuildAndPublishSnapshot.sh b/macBuildAndPublishSnapshot-bindings.sh similarity index 100% rename from bindings-macBuildAndPublishSnapshot.sh rename to macBuildAndPublishSnapshot-bindings.sh diff --git a/macBuildAndPublishSnapshot-delegated.sh b/macBuildAndPublishSnapshot-delegated.sh new file mode 100755 index 0000000..8fb7d2d --- /dev/null +++ b/macBuildAndPublishSnapshot-delegated.sh @@ -0,0 +1,15 @@ +set -e +#!/bin/sh +./gradlew multiplatform-crypto-delegated:publishMacosX64PublicationToSnapshotRepository + +./gradlew multiplatform-crypto-delegated:publishIosArm32PublicationToSnapshotRepository \ +multiplatform-crypto-delegated:publishIosArm64PublicationToSnapshotRepository \ +multiplatform-crypto-delegated:publishIosX64PublicationToSnapshotRepository + +./gradlew multiplatform-crypto-delegated:publishWatchosArm32PublicationToSnapshotRepository \ +multiplatform-crypto-delegated:publishWatchosArm64PublicationToSnapshotRepository \ +multiplatform-crypto-delegated:publishWatchosX86PublicationToSnapshotRepository + +./gradlew multiplatform-crypto-delegated:publishTvosArm64PublicationToSnapshotRepository \ +multiplatform-crypto-delegated:publishTvosX64PublicationToSnapshotRepository +set +e diff --git a/multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtil.kt b/multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtil.kt index a599767..afc4209 100644 --- a/multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtil.kt +++ b/multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtil.kt @@ -12,6 +12,7 @@ import libsodium.sodium_memcmp import libsodium.sodium_memzero import libsodium.sodium_pad import libsodium.sodium_unpad +import platform.posix.size_tVar /** * Created by Ugljesa Jovanovic diff --git a/windowsBuild-delegated.sh b/windowsBuild-delegated.sh index 655bb92..76ec9a9 100755 --- a/windowsBuild-delegated.sh +++ b/windowsBuild-delegated.sh @@ -7,9 +7,9 @@ cd sodiumWrapper echo "Starting mingw libsodium build" ./configureMingw64.sh echo "Configure done" -$GNU_MAKE -j4 -C libsodium clean -$GNU_MAKE -j4 -C libsodium -$GNU_MAKE -j4 -C libsodium install +make -j4 -C libsodium clean +make -j4 -C libsodium +make -j4 -C libsodium install echo "completed libsodium build" #now we can do the delegated build cd ..